Mi piacerebbe sapere quale pattern posso usare in sed per apportare modifiche nella prima riga di file enormi (~ 2 GB). La preferenza per sed è solo perché presumo che debba essere più veloce di uno script Python o Perl.Come posso apportare modifiche solo alla prima riga di un file?
I file hanno la seguente struttura:
field 1, field 2, ... field n
data
e, data la probabilità di avere spazi nel identificativo per ogni campo, ho bisogno di sostituire ogni spazio da un trattino in questo modo:
**BEFORE**
the first name,the second name,the first surname,a nickname, ...
data
**AFTER**
the_first_name,the_second_name,the_first_surname,a_nickname, ...
data
Eventuali puntatori al modello corretto da utilizzare o un'altra soluzione di scripting sarebbe ottima.
Questo richiede un 'g' alla fine per farlo sostituire tutti gli spazi della linea, non solo il primo. –
perl -i -pe 's// _/g se 1 .. 10' ??? Wow, non ho mai sentito parlare di questa sintassi in "if 1..10". A volte mi arrabbio un po 'con Perl. Perché tutte queste eccezioni? Perché non usare semplicemente un if ($. <11)? – Frank
@leon: wow, trucco molto carino !, grazie. –