Ich möchte nach jeder Zeile in meiner Eingabedatei 5 Leerzeilen einfügen.
foo.txt::
line 1
line 2
line 3
out.txt::
line 1
line 2
line 3
...
Solaris 5.10 nawkoder sed.
Ich möchte nach jeder Zeile in meiner Eingabedatei 5 Leerzeilen einfügen.
foo.txt::
line 1
line 2
line 3
out.txt::
line 1
line 2
line 3
...
Solaris 5.10 nawkoder sed.
Antworten:
Das ist der Job für sed:
sed -e 'G;G;G;G;G' file
Mit awk:
nawk -vORS='\n\n\n\n\n\n' 1 file
Oder kürzere Version:
awk 'ORS="\n\n\n\n\n\n"' file
oder vermeiden Sie Einstellungen ORSfür jede Eingabezeile:
awk 'BEGIN{ORS="\n\n\n\n\n\n"};1' file
awk 'ORS="\n\n\n\n\n\n"'
sed 's/$/\n\n\n\n\n/g' file
\nim Ersatzteil von s///.
Ein anderer mit printf
cat file.txt | xargs printf "%s\n\n\n\n\n"
Um das in eine Datei auszugeben
(cat file.txt | xargs printf "%s\n\n\n\n\n") > out.txt
Vielleicht möchten Sie nldies auch verwenden. Es kommt mir in den Sinn, weil ich es oft nützlich finde, die ursprünglichen Zeilennummern beizubehalten, wenn ich solche Dinge mache.
eval "nl -ba -s'$(printf "\n\n\n\n\n'")" <infile
Auch prfür das geskilled -doublespace Argument - die alle Zeilenumbrüche in Eingang auf Ausgang verdoppeln werden.
Aber es ist auch sedgut.