Fügen Sie bestimmten Text in jede leere Zeile ein

386
Jaimin

Ich habe eine Datei wie unten

abc  pqr xyz   aaa bbb  ccc 

Ich möchte in jeder leeren Zeile einen bestimmten Text wie "this is test" hinzufügen

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

Hilf mir das zu tun. Vielen Dank

3

1 Antwort auf die Frage

3
oliv

Den Regex für leere Zeilen zu kennen ^$, bedeutet 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 die gewünschte Zeichenfolge:

$ awk '!NF{$0="this is test"}1' file 
Könnte auch geschrieben werden als: `awk '/ ^ $ / {$ 0 =" this is test "} 1" file ". Perl-Äquivalente: `perl -lape 's / ^ $ / Dies ist test /' file` oder` perl -lape '$ _ = "this is test" if! $ _' File`. simlev vor 6 Jahren 0