La soluzione Perl è simile alla soluzione sed di sampson-chen :
perl -pe 's/\\n/\n/g'
Esempi:
File di input con \n letterale (non newline):
$ cat test1.txt
foo\nbar\n\nbaz
Sostituisci letterale tutte le occorrenze di \n
con le nuove righe effettive, stampa in STDOUT
:
$ perl -pe 's/\\n/\n/g' test1.txt
foo
bar
baz
Allo stesso modo, cambia il file di input sul posto, salvando il backup in test1.txt.bak
:
$ perl -i.bak -pe 's/\\n/\n/g' test1.txt
Il one-liner Perl utilizza questi flag della riga di comando:
-e
:Dice a Perl di cercare il codice in linea, invece che in un file.
-p
:passa sopra l'input una riga alla volta, assegnandolo a $_
per impostazione predefinita. Aggiungi print $_
dopo ogni iterazione del ciclo.
-i.bak
:modifica i file di input sul posto (sovrascrive il file di input). Prima di sovrascrivere, salva una copia di backup del file originale aggiungendo al suo nome l'estensione .bak
.
VEDI ANCHE:
perldoc perlrun
:come eseguire l'interprete Perl:opzioni della riga di comando
perldoc perlre
:Espressioni regolari Perl (regex)
Ecco come farlo con sed
:
sed 's/\\n/\n/g'
Esempio di utilizzo:
Per sostituire tutte le occorrenze di \n
in un file sul posto:
sed -i 's/\\n/\n/g' input_filename
Per sostituire tutte le occorrenze di \n
attraverso una pipe e salva in un altro file
cat file1 file2 file3 file4 | sed 's/\\n/\n/g' > output_file