11
是否必须有更好的方法来仅替换单个换行符?
我习惯每句只写一行,因为我通常将内容编译为LaTex,或者以其他格式书写而忽略了换行符。我使用空白行指示新段落的开始。 现在,我有一个以这种风格编写的文件,我想将其作为纯文本发送。我想删除所有单个换行符,但完整保留两个换行符。这是我所做的: sed 's/$^/NEWLINE/' file.txt | awk '{printf "%s ",$0}' | sed 's/NEWLINE/\n\n/g' > linebreakfile.txt 这用一些我相信不会出现在文件中的文本替换空行:NEWLINE然后用awk消除了所有换行符(我在某些网站上发现了这个技巧),然后NEWLINE用必需的两个换行符替换了s 。 这似乎是完成一件非常简单的事情的漫长方法。有没有更简单的方法?另外,如果有一种方法可以用单个空格替换多个空格(有时由于某种原因有时会蔓延),那也很好。 我使用emacs,所以如果有一些emacs特定的技巧很好,但我宁愿看到一个纯sed或纯awk版本。