如何删除sed生成的换行符

时间:2015-02-13 21:49:41

标签: linux bash sed

我有一个名为sms的文件:

gsm versi jadul

29 sender: +62896666666
date:   15/02/14,03:55:12

reboot router

当我输入时:

sed -n '6p' sms > /tmp/result

/tmp/result总是如下所示: image1

注意那里的换行符,我想摆脱第二行的换行符,所以最终的结果将是这样的: image2

我该怎么做?

4 个答案:

答案 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。你有一些行结束问题或某些问题。

相关问题