Aggiunta di una riga vuota alla fine dell'input


11

Ho un comando che produce output senza una nuova riga alla fine, in questo modo

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

Attualmente ho superato questo da somecmd | sed 's/$/\n/' | tr -s '\n' C'è un modo migliore per farlo?

Risposte:


19

Basta eseguire l'eco dopo di esso, dovrebbe generare una nuova riga

Myprompt$ somecmd ; echo

E se hai bisogno di nutrirlo con qualcos'altro, eseguilo in una sotto-shell:

Myprompt$ ( somecmd ; echo ) | someothercmd

Oppure .. come sottolinea @camh, la subshell in realtà non è necessaria, è possibile eseguirla con un elenco di comandi nell'attuale ambiente shell con:

Myprompt$ { somecmd ; echo ; } | someothercmd

3

Alimentalo attraverso alcune utility che leggono l'input in righe e output, come in awk { print $0 }.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.