Die Perl-Lösung ähnelt der sed-Lösung von sampson-chen :
perl -pe 's/\\n/\n/g'
Beispiele:
Eingabedatei mit Literal \n (keine Zeilenumbrüche):
$ cat test1.txt
foo\nbar\n\nbaz
Ersetzen Sie wörtlich alle Vorkommen von \n
mit tatsächlichen Zeilenumbrüchen, drucke in STDOUT
:
$ perl -pe 's/\\n/\n/g' test1.txt
foo
bar
baz
Ändern Sie auch die Eingabedatei an Ort und Stelle und speichern Sie die Sicherung in test1.txt.bak
:
$ perl -i.bak -pe 's/\\n/\n/g' test1.txt
Der Perl-Einzeiler verwendet diese Befehlszeilen-Flags:
-e
:Weist Perl an, nach Code inline statt in einer Datei zu suchen.
-p
:Schleife die Eingabe zeilenweise durch und weise sie $_
zu standardmäßig. Fügen Sie print $_
hinzu nach jedem Schleifendurchlauf.
-i.bak
:Eingabedateien direkt bearbeiten (Eingabedatei überschreiben). Speichern Sie vor dem Überschreiben eine Sicherungskopie der Originaldatei, indem Sie an ihren Namen die Erweiterung .bak
anhängen .
SIEHE AUCH:
perldoc perlrun
:So führen Sie den Perl-Interpreter aus:Befehlszeilenschalter
perldoc perlre
:Reguläre Perl-Ausdrücke (Regexes)
So geht's mit sed
:
sed 's/\\n/\n/g'
Beispielverwendung:
Um alle Vorkommen von \n
zu ersetzen in einer Datei an Ort und Stelle:
sed -i 's/\\n/\n/g' input_filename
Um alle Vorkommen von \n
zu ersetzen durch eine Pipe und in einer anderen Datei speichern
cat file1 file2 file3 file4 | sed 's/\\n/\n/g' > output_file