我在一个目录中有一个文件 files.txt 的列表。我想通过每个文件运行文本替换。
$f = (get-content files.txt)
Foreach ($i in $f) { perl -pi -we "s/(\d{0,4})- /$1 - /g" $i }
但是 perl 不喜欢在没有备份的情况下这样做。
没有备份就无法进行就地编辑。
所以我将 .bak 添加到 -i:
$f = (get-content files.txt)
Foreach ($i in $f) { perl -pi.bak -we "s/(\d{0,4})- /$1 - /g" $i }
现在它抱怨:
无法打开 perl 脚本“.bak”:没有这样的文件或目录
我错过了什么?
更新:
我更喜欢的是一种完全没有外壳的方法。我可以$^I
以某种方式在 perl 中执行此循环吗?