在输入的末尾添加一个空行

在输入的末尾添加一个空行

我有一些命令可以生成最后没有换行的输出,如下所示

Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$

目前我克服了这个问题somecmd | sed 's/$/\n/' | tr -s '\n' 是否有更好的方法来做到这一点?

答案1

只需在其后运行 echo ,它应该会生成一个换行符

Myprompt$ somecmd ; echo

如果您需要将其提供给其他东西,请在子 shell 中运行它:

Myprompt$ ( somecmd ; echo ) | someothercmd

或者..正如 @camh 指出的,实际上不需要子 shell,您可以使用当前 shell 环境中的命令列表来执行它:

Myprompt$ { somecmd ; echo ; } | someothercmd

答案2

通过一些实用程序提供它,这些实用程序读取行中的输入和输出行,例如awk { print $0 }.

相关内容