Agregar una línea vacía al final de la entrada

11

Tengo un comando que produce una salida sin una nueva línea al final, como esta

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

Actualmente supero esto por somecmd | sed 's/$/\n/' | tr -s '\n' ¿Hay una mejor manera de hacer esto?

balki
fuente

Respuestas:

19

Simplemente ejecute echo después, debería generar una nueva línea

Myprompt$ somecmd ; echo

Y si necesita alimentarlo a otra cosa, ejecútelo en un sub-shell:

Myprompt$ ( somecmd ; echo ) | someothercmd

O ... como señala @camh, el subshell no es realmente necesario, puede ejecutarlo con una lista de comandos en el entorno de shell actual con:

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

Aliméntelo a través de alguna utilidad que lea entradas en líneas y líneas de salida, como en awk { print $0 }.

alex
fuente