Добавление пустой строки в конце ввода

11

У меня есть команда, которая производит вывод без новой строки в конце, как это

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

В настоящее время я преодолел это путем somecmd | sed 's/$/\n/' | tr -s '\n' Есть ли лучший способ сделать это?

Балки
источник

Ответы:

19

Просто запустите echo после него, он должен сгенерировать новую строку

Myprompt$ somecmd ; echo

И если вам нужно передать его чему-то другому, запустите его в под-оболочке:

Myprompt$ ( somecmd ; echo ) | someothercmd

Или ... как указывает @camh, подоболочка на самом деле не нужна, вы можете выполнить ее с помощью списка команд в текущей среде оболочки с помощью:

Myprompt$ { somecmd ; echo ; } | someothercmd
Кжетил Йоргенсен
источник
3

Пропустите его через некоторую утилиту, которая считывает ввод в строках и выходных строках, например, в awk { print $0 }.

Алекс
источник