LINUX.ORG.RU

Bash переносит стороку в выводе.

 


0

2

Добрый день, помогите разобраться почему Bash переносит один из результатов вывода на новую строку.

  
(
echo -n "u5 "
date +"%H"
cat log1.log | awk 'NR==1 {print $12}' | sed 's/%//') >> data.log

в файл он мне выводит

 
u5 08
5

Подскажите как сделать что бы в одну строку в файле писал. Спасибо.

Потому что после вызова date идет перевод строки.

Могу предложить два варианта:

echo -n "u5 $(date +"%H") "
cat ...

Или использовать tr -s '\n' ' ' или аналогичную конструкцию на любом другом языке, которая поменяет перевод строки на пробелы или что-то другое.

alozovskoy ★★★★★ ()
Ответ на: комментарий от lexlex361

Ну тогда и cat log1.log <...> можно добавить в echo аналогичным образом, получится вообще однострочник. Только тогда ключ -n стоит убрать.

alozovskoy ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.