如何使用sed替换换行符(\\ n)?
如何将换行符(“ \\n ”)替换为空格(“ “)使用 sed 命令? 我尝试失败: sed 's#\n# #g' file sed 's#^$# #g' file 我如何解决它? #1楼 sed 旨在用于基于行的输入。 虽然它可以满足您的需求。 更好的选择是使用 tr 命令,如下所示: tr '\n' ' ' < input_filename 或完全删除换行符: tr -d '\n' < input.txt > output.txt 或您是否拥有GNU版本(及其长选项) tr --delete '\n' < input.txt > output.txt #2楼 Perl 版本以您期望的方式工作。 perl -i -p -e 's/\n//' file 正如评论中指出的那样,值得注意的是此编辑已就位。 -i.bak 会在替换前为您提供原始文件的备份,以防您的 正则表达式 不如您想象的那样聪明。 #3楼 我不是专家,但是我想 sed 您首先需要将下一行添加到模式空间中,使用“ N ”进行bij。 在 sed&awk (Dale Dougherty和Arnold Robbins; O'Reilly 1997; 预览的 第107页)的“高级sed命令”中的“多行模式空间”部分中: multiline Next(N)命令通过读取输入的新行并将其附加到模式空间的内容来创建多行模式空间。