前端之家收集整理的这篇文章主要介绍了
regex – 如何替换Perl中现有文件中的字符串?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在名为1_classification.dat,2_classification.dat等的所有文本
文件中将单词“blue”替换为“red”。我想编辑同一个
文件,所以我尝试这个
代码,但它不工作。我在哪里错了?
@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扩展名备份文件>正则表达式替换作用于隐式变量,它是文件的内容,逐行
原文链接:https://www.f2er.com/Perl/173265.html