我在命令行中使用 perl 来替换文本文件中的重复空格。
我使用的命令是:
perl -pi -e 's/\s+/ /g' file.csv
问题:此过程还会删除结果文件中的新行....
知道为什么会这样吗?
谢谢!
最佳答案
\s
表示五个字符:[\f\n\r\t]
。因此,您将用单个空格替换换行符。
在您的情况下,最简单的方法是使用 -l
标志启用自动换行处理:
perl -pi -le 's/\s+/ /g' file.csv
这样,换行符将在 -e
语句之前被 chomped 并附加在之后。
关于Perl 从命令行 : When replace a string in a file it removes also the new lines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13643919/