以下のように、最後に改行なしで出力を生成するいくつかのコマンドがあります。
Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$
現在、この問題を解決するsomecmd | sed 's/$/\n/' | tr -s '\n'
より良い方法はありますか?
答え1
その後、echoを実行すると改行文字が生成されます。
Myprompt$ somecmd ; echo
他のものに供給する必要がある場合は、サブシェルで実行してください。
Myprompt$ ( somecmd ; echo ) | someothercmd
または.. @camhが指摘したように、実際にはサブシェルは必要なく、現在のシェル環境のコマンドリストを使用して実行できます。
Myprompt$ { somecmd ; echo ; } | someothercmd
答え2
これは、入力および出力ラインを1行で読み取るいくつかのユーティリティを介して提供されますawk { print $0 }
。