regex – 如何替换Perl中现有文件中的字符串?
发布时间:2020-12-15 21:23:25 所属栏目:大数据 来源:网络整理
导读:我想在名为1_classification.dat,2_classification.dat等的所有文本文件中将单词“blue”替换为“red”。我想编辑同一个文件,所以我尝试这个代码,但它不工作。我在哪里错了? @files=glob("*_classification.dat");foreach my $file (@files){ open(IN,$f
我想在名为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扩展名备份文件>正则表达式替换作用于隐式变量,它是文件的内容,逐行 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |