我有一个名为sms
的文件:
gsm versi jadul
29 sender: +62896666666
date: 15/02/14,03:55:12
reboot router
当我输入时:
sed -n '6p' sms > /tmp/result
/tmp/result
总是如下所示:
注意那里的换行符,我想摆脱第二行的换行符,所以最终的结果将是这样的:
我该怎么做?
答案 0 :(得分:1)
您可以使用tr
修剪它:
sed -n '6p' sms | tr -d '\n' > /tmp/result
答案 1 :(得分:1)
您可以使用awk
代替sed
:
awk 'NR==6 {printf $0}' sms > result
NR==6
指定行号printf $0
打印该行而没有任何\n
答案 2 :(得分:1)
您的sed命令没有任何问题,您的输入文件包含尾随控件-Ms。在运行sed之前,请使用dos2unix
或类似名称删除它们。
答案 3 :(得分:0)
POSIX sed
命令的正确实现不会添加这样的空行。 6p
应打印第六行。我无法重现这个问题,例如Ubuntu 12 Linux。你有一些行结束问题或某些问题。