Řešení v Perlu je podobné řešení sed od sampson-chen :
perl -pe 's/\\n/\n/g'
Příklady:
Vstupní soubor s literálem \n (nikoli nové řádky):
$ cat test1.txt
foo\nbar\n\nbaz
Nahraďte doslovně všechny výskyty \n se skutečnými novými řádky, tisk do STDOUT :
$ perl -pe 's/\\n/\n/g' test1.txt
foo
bar
baz
Stejně tak změňte vstupní soubor na místě a zálohu uložte do test1.txt.bak :
$ perl -i.bak -pe 's/\\n/\n/g' test1.txt
Jednořádkový Perl používá tyto příznaky příkazového řádku:
-e :Řekne Perlu, aby hledal kód in-line, nikoli v souboru.
-p :Opakujte vstup jeden řádek po druhém a přiřaďte jej $_ ve výchozím stavu. Přidejte print $_ po každé iteraci smyčky.
-i.bak :Úprava vstupních souborů na místě (přepsání vstupního souboru). Před přepsáním uložte záložní kopii původního souboru tak, že k jeho názvu přidáte příponu .bak .
VIZ TAKÉ:
perldoc perlrun :jak spustit interpret Perl:přepínače příkazového řádku
perldoc perlre :Regulární výrazy Perlu (regexy)
Zde je návod, jak to udělat s sed :
sed 's/\\n/\n/g'
Příklad použití:
Chcete-li nahradit všechny výskyty \n v souboru na místě:
sed -i 's/\\n/\n/g' input_filename
Chcete-li nahradit všechny výskyty \n kanálem a uložit do jiného souboru
cat file1 file2 file3 file4 | sed 's/\\n/\n/g' > output_file