Menambahkan baris kosong di akhir input

11

Saya memiliki beberapa perintah yang menghasilkan output tanpa baris baru di akhir, seperti ini

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

Saat ini saya mengatasinya dengan somecmd | sed 's/$/\n/' | tr -s '\n' Apakah ada cara yang lebih baik untuk melakukan ini?

balki
sumber

Jawaban:

19

Jalankan saja echo setelah itu, seharusnya menghasilkan baris baru

Myprompt$ somecmd ; echo

Dan Jika Anda perlu memasukkannya ke sesuatu yang lain, jalankan di sub-shell:

Myprompt$ ( somecmd ; echo ) | someothercmd

Atau .. seperti yang ditunjukkan @camh, subkulit tersebut sebenarnya tidak diperlukan Anda dapat menjalankannya dengan daftar perintah di lingkungan shell saat ini dengan:

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

Beri makan melalui beberapa utilitas yang membaca input dalam jalur dan jalur keluaran, seperti di awk { print $0 }.

alex
sumber