我有一些命令可以生成最后没有换行的输出,如下所示
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 }
.