如何使用sed命令将换行符(“\n”)替换为空格(“”)?

我尝试过:

sed 's#\n# #g' file
sed 's#^$# #g' file

如何修复?


当前回答

tr '\n' ' ' 

是命令。

简单易用。

其他回答

@OP,如果您想替换文件中的换行符,可以只使用dos2unix(或unix2dox)

dos2unix yourfile yourfile
sed -i ':a;N;$!ba;s/\n/,/g' test.txt

tr "\n" <file name>

这真的很简单。。。当我找到解决办法时,我真的很生气。又少了一个反斜杠。这就是:

sed -i "s/\\\\\n//g" filename

在Mac OS X上(使用FreeBSD sed):

# replace each newline with a space
printf "a\nb\nc\nd\ne\nf" | sed -E -e :a -e '$!N; s/\n/ /g; ta'
printf "a\nb\nc\nd\ne\nf" | sed -E -e :a -e '$!N; s/\n/ /g' -e ta

谁需要sed?以下是bash方式:

cat test.txt |  while read line; do echo -n "$line "; done