我想在名为 1_classification.dat、2_classification.dat 等的所有文本文件中将“蓝色”一词替换为“红色”。我想编辑同一个文件,所以我尝试了以下代码,但它不起作用。我哪里出错了?
@files = glob("*_classification.dat");
foreach my $file (@files)
{
open(IN,$file) or die $!;
<IN>;
while(<IN>)
{
$_ = '~s/blue/red/g';
print IN $file;
}
close(IN)
}
使用单行:
$ perl -pi.bak -e 's/blue/red/g' *_classification.dat
解释
-
-p
处理,然后打印<>
逐行
-
-i
激活就地编辑。文件使用以下方式备份.bak
扩大
- 正则表达式替换作用于隐式变量,即逐行文件的内容
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)