Как вывести результаты нескольких команд в одну строку?

Как вывести результаты нескольких команд в одну строку?

У меня есть такая командная строка 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

Связанный контент