Dodanie pustej linii na końcu danych wejściowych


11

Mam jakieś polecenie, które produkuje dane wyjściowe bez nowego wiersza na końcu, takie jak to

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

Obecnie przezwyciężyłem to przez somecmd | sed 's/$/\n/' | tr -s '\n' Czy istnieje lepszy sposób na zrobienie tego?

Odpowiedzi:


19

Po prostu uruchom echo po nim, powinno wygenerować nowy wiersz

Myprompt$ somecmd ; echo

Jeśli chcesz nakarmić go czymś innym, uruchom go w podpowłoce:

Myprompt$ ( somecmd ; echo ) | someothercmd

Lub .., jak wskazuje @camh, podpowłoka nie jest w rzeczywistości potrzebna, można ją wykonać za pomocą listy poleceń w bieżącym środowisku powłoki za pomocą:

Myprompt$ { somecmd ; echo ; } | someothercmd

3

Przeprowadź go przez jakieś narzędzie, które odczytuje dane wejściowe w liniach i linie wyjściowe, jak w awk { print $0 }.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.