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?

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

3

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.