So fügen Sie nach jeder Zeile mehrere Leerzeilen ein

Antworten:

12

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
cuonglm
quelle
Oder diese Variante:awk 'ORS="\n\n\n\n\n\n"'
Janis
Oder diese Variante:sed 's/$/\n\n\n\n\n/g' file
Dani_l
@Dani_l: Es funktioniert nur in GNU sed
cuonglm
@ Cuonglm wusste das nicht, danke für die Info. Welcher Teil ist gnu-spezifisch? das \ n als Ersatz?
Dani_l
@Dani_l: Ja, \nim Ersatzteil von s///.
Cuonglm
0

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

Sergiy Kolodyazhnyy
quelle
0

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.

mikeserv
quelle