perl inplace replace创建空文件

时间:2015-11-26 13:16:46

标签: perl replace

我目前有一个sed命令来替换文件中的所有反斜杠 - 这很好但很慢。我读到perl会更快,所以想尝试一下但是遇到了问题。

我使用的Perl命令是:

perl -p -i -e 's/\\//g' mytestfile.csv

省略-i标志回显正确的输出到屏幕但是包含-i标志它会覆盖内容为零的mytestfile.csv,这不是我的预期 - 显然命令首先截断mytestfile.csv

如何让perl inplace replace工作?

1 个答案:

答案 0 :(得分:1)

基于评论:

  • 我无法重现您的问题。你的代码似乎在我的盒子上正常工作。
  • 在处理之前,请尝试-i.bak备份旧文件(filename.bak)。
  • 由于文件锁定的工作方式,Windows处理内部编辑的方式不同。这似乎并不适用于此。