Fügen Sie in jede leere Zeile spezifischen Text ein

Fügen Sie in jede leere Zeile spezifischen Text ein

Ich habe eine Datei wie unten

abc

pqr
xyz


aaa
bbb

ccc

Ich möchte in jede leere Zeile einen bestimmten Text wie „das ist ein Test“ einfügen, wie unten

abc
this is test
pqr
xyz
this is test
this is test
aaa
bbb
this is test
ccc

Helfen Sie mir dabei. Danke

Antwort1

Wenn Sie den regulären Ausdruck für eine leere Zeile kennen ^$, verwenden Sie sed:

$ sed 's/^$/this is test/' file 
abc
this is test
pqr
xyz
this is test
this is test
aaa
bbb
this is test
ccc

Mit awkkönnen Sie sich auf die Anzahl der Elemente verlassen NF. Wenn dies der Fall ist, 0setzen Sie die Zeile $0auf den gewünschten String:

$ awk '!NF{$0="this is test"}1' file

verwandte Informationen