[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cambiare una parte di testo un un grosso file



Il 08/02/2015 02:08, MaX ha scritto:
caio a tutti,

ho un grosso file csv a cui sto cambiando alcune parti di testo con
sed... ma la faccenda tira per le lunghe e i chiedevo se non ci fosse
un sistema più veloce.

praticamente lo script fa questo:

-------------------------------------
for A in `cat lista`; do
     prima=$(echo $A | cut -d ',' -f1)
     dopo=$(echo $A | cut -d ',' -f2)
     cat file.csv | sed "s/$prima/$dopo/g" > file.csv.tmp
     mv file.csv.tmp file.csv
done
--------------------------------------
...dimenticavo... le parti da cambiare possono essere ripetute in
varie parti del file.

il file è troppo grande per caricarlo in RAM, al che mi chiedevo se
non esistesse un metodo più veloce per ottenere lo stesso risultato.
non so, non so se ne aumenti le prestazioni ma hai provato con

    sed "s/$prima/$dopo/g" file.csv > file.csv.tmp

al posto di

    cat file.csv | sed "s/$prima/$dopo/g" > file.csv.tmp


Piviul


Reply to: