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 nawk
oder 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 nawk
oder 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 ORS
fü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
\n
im 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 nl
dies 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 pr
für das geskilled -d
oublespace Argument - die alle Zeilenumbrüche in Eingang auf Ausgang verdoppeln werden.
Aber es ist auch sed
gut.