如何使用sed命令将换行符(“\n”)替换为空格(“”)?
我尝试过:
sed 's#\n# #g' file
sed 's#^$# #g' file
如何修复?
如何使用sed命令将换行符(“\n”)替换为空格(“”)?
我尝试过:
sed 's#\n# #g' file
sed 's#^$# #g' file
如何修复?
当前回答
使用Awk:
awk "BEGIN { o=\"\" } { o=o \" \" \$0 } END { print o; }"
其他回答
以下内容比大多数答案简单得多。此外,它还在发挥作用:
echo `sed -e 's/$/\ |\ /g' file`
GNUsed有一个选项-z,用于空分隔记录(行)。您可以拨打:
sed -z 's/\n/ /g'
sed旨在用于基于行的输入。尽管它可以满足你的需要。
这里更好的选择是使用tr命令,如下所示:
tr '\n' ' ' < input_filename
或完全删除换行符:
tr -d '\n' < input.txt > output.txt
或者如果您有GNU版本(带有长选项)
tr --delete '\n' < input.txt > output.txt
谁需要sed?以下是bash方式:
cat test.txt | while read line; do echo -n "$line "; done
要删除空行,请执行以下操作:
sed -n "s/^$//;t;p;"