複数のコマンドの結果を 1 行で出力するにはどうすればよいですか?

複数のコマンドの結果を 1 行で出力するにはどうすればよいですか?

次の bash コマンドラインがあります:

{echo -n ROT: \  ; date ; tree /Volumes/WD\ Ultra\ 2TB\ ROT/Bilder\ Archiv | tail -1 ;} >> /Users/reinard/Desktop/TestRot.txt

次のような出力が期待されました:

ROT:  Sa  5 Dez 2015 18:14:52 EET 6651 directories, 208455 files

しかし、私はいつもこれを取得します(2行):

ROT:  Sa  5 Dez 2015 18:14:52 EET
6651 directories, 208455 files

いろいろ試して読んでみましたが、うまくいきませんでした... :-(

答え1

date | tr -d '\n'の代わりにを使用しますdate

答え2

日付とツリーの出力に対して、PowerShell 経由で改行文字の置換を行うことができます。

https://ss64.com/ps/replace.html

答え3

dateこれは日付の後に改行を出力するプログラムです。

date次のように置き換えてみてください

echo -n `date`

答え4

解決策を見つけました。

echo -n 'ROT:      ' $(date) ' :: ' $(tree /Volumes/WD\ Ultra\ 2TB\ ROT/Bilder\ Archiv | tail -1) $'\n' >> /Users/reinard/Desktop/ArchivBilderCount.txt

関連情報