Hinzufügen einer leeren Zeile am Ende der Eingabe

11

Ich habe einen Befehl, der am Ende eine Ausgabe ohne neue Zeile erzeugt

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

Derzeit überwinde ich dies durch somecmd | sed 's/$/\n/' | tr -s '\n' Gibt es einen besseren Weg, dies zu tun?

balki
quelle

Antworten:

19

Führen Sie einfach das Echo danach aus, es sollte eine neue Zeile generieren

Myprompt$ somecmd ; echo

Und wenn Sie es an etwas anderes weitergeben müssen, führen Sie es in einer Sub-Shell aus:

Myprompt$ ( somecmd ; echo ) | someothercmd

Oder .. wie @camh betont, wird die Subshell tatsächlich nicht benötigt. Sie können sie mit einer Befehlsliste in der aktuellen Shell-Umgebung ausführen mit:

Myprompt$ { somecmd ; echo ; } | someothercmd
Kjetil Jorgensen
quelle
3

Führen Sie es durch ein Dienstprogramm, das Eingaben in Zeilen und Ausgabezeilen wie in liest awk { print $0 }.

Alex
quelle