linux – sed – 在文件的最后一行之前管道一个字符串

我有一个打印单行的命令.
我想将这一行添加/管道到一个文件,就在它的最后一行之上.

my_cmd | sed -i '$i' test

我只是在最后一行上方的正确位置找到一个空行.
我注意到当我添加任何字符串为’$i foo’时,“foo”会在正确的位置打印,但我希望打印管道线.

我怎样才能使用STDIN而不是“foo”?

最佳答案
这应该做的伎俩:

 sed -i "\$i $(cmd)" file

测试:

kent$ cat f
1
2
3
4
5

kent$ sed -i "\$i $(date)" f

kent$ cat f
1
2
3
4
Tue Sep 30 14:10:02 CEST 2014
5

转载注明原文:linux – sed – 在文件的最后一行之前管道一个字符串 - 代码日志