在GNU中使用此解决方案sed
:
sed ':a;N;$!ba;s/\n/ /g' file
这将在一个循环中读取整个文件,然后用空格替换换行符。
说明:
- 创建标签
:a
。 - 将当前行和下一行追加到模式空间,通过
N
。 - 如果我们在最后一行之前,则分支到创建的标签。
$!ba
($!
意思是不要在最后一行做这件事,因为应该有最后一个换行符)。 - 最后,替换用模式空间(即整个文件)上的空格替换每一行换行符。
下面是跨平台兼容语法,它与BSD和OSX的sed
sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' file