[7] Come faccio a rimuovere tutti i carriage return da un file?
Usate il seguente potentissimo one-liner:
perl -pi -e "s/\r//g" nomefile
La descrizione dei parametri e` la seguente:
- -e : permette di specificare direttamente sulla linea di comando
il codice Perl da eseguire
- -p : fa si che per Perl presuma un loop tipo questo attorno al
codice che si specifica:
LINE:
while (<>) {
... # codice indicato sulla linea di comando
}
continue {
print or die "-p destination: $!\n";
}
Di fatto applica l'espressione indicata sulla linea di comando
a tutto l'output.
- -i : fa si che i file indicati come parametro (nomefile in questo
caso, ma puo` anche essere una wildcard tipo *.txt) siano modificati
"sul posto", e salvati nuovamente sullo stesso nome. Cio` causa
la sovrascrittura dei file precedenti.
Potete anche ottenere una copia di backup dei file che
vengono modificati utilizzando la seguente variante:
Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.
Indipendentemente dalle modalità di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese
ma non è obbligatorio.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!