我需要在perl脚本中编辑一个文件,所以经常使用一个衬里:
perl -p -e s/<value>/<value>/ig
不适用于这种情况。如何从 perl 脚本中获得相同的结果?
open(CRONTAB, "+<file" || die "...";
while (<CRONTAB>) {
if ($_ =~ /value/) {
s/^\#+//;
print "$_\n";
}
}
我的印刷品正是我想要的。这只是我正在寻找的就地编辑。
但要小心:
$^I
像 perl 一样-i
不是防崩溃的。您的编辑看起来很简单。您是否考虑过简单地将sed与 -i 选项一起使用?
试试这个,基于perldoc perlrun
-i
的翻译:使用文件::就地
此外,在您为文件完成所有更改后,它具有提交/回滚功能......