Why not do it through a short python script? Something like (not tested)

import os

for dirpath, dirnames, filenames in os.walk('damagedfilesystem'):
   for fn in filenames:
     if fn.endswith('.txt'):
       new_fn = fn.replace('.txt','-fixed.txt')
       out_fh = open(new_fn,'w')
        for line in open(fn):
           if islineok(line):
               out_fh.write(line)
        close(out_fh)


Just fill in islineok() with whatever logic you want.

Regards,
Dov


On Mon, Jul 20, 2015 at 11:56 AM, Orna Agmon Ben-Yehuda <ladyp...@gmail.com>
wrote:

> Hello everyone,
>
> I often have damaged text files (due to a lovely storage system). The
> files are of different formats, although I can usually assume they contain
> spaces. The files are structured as lines.
>
> Every once in a while, the lovely destruction (ahm....storage) system
> inserts binary garbage to the file. I wish to fix the files by removing the
> cancer without leaving any leftovers. That is, I want to lose partial lines.
>
> I tried using grep with all sorts of keys, but it did not do the trick.
> strings catches too little - it leaves partial lines.
> Is there an elegant  way to  do the trick line-wise?
>
> Thanks
> Orna
>
> --
> Orna Agmon Ben-Yehuda.
> http://ladypine.org
>
> _______________________________________________
> Linux-il mailing list
> Linux-il@cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
_______________________________________________
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il

Reply via email to