如何用空格替换所有换行符,最后一个换行符除外。我可以使用将所有换行符替换为空格,tr
但是除了某些例外,我该如何做呢?
如何用空格替换所有换行符,最后一个换行符除外。我可以使用将所有换行符替换为空格,tr
但是除了某些例外,我该如何做呢?
Answers:
如果文件足够小,请在Perl中重新实现vonbrand的想法:
perl -p00e 's/\n(?!\Z)/ /g' your_file
这对我有用。
tr '\n' ' ' < file_with_new_line | sed 's/\ $//g' > file_with_space
tr
命令将所有换行符替换为空格,而sed
命令将删除最后一个空格。这将导致文件中没有最后的换行符,因此问题也不是。顺便说一句,g
在sed
命令中没有使用int点。由于您使用$
,它只能在末尾匹配,因此g
毫无意义。您也不需要逃脱空间,``也没有区别。
-s
和-d
选择似乎像这种情况下做出。