perl如何替换文本指定内容
05-29
【方法一】
1.批量替换用sed:
sed 's/a/b/g' ##将a 换成b
2.批量替换文件内容方法,命令结构如下:
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
3.下面例子将当前目录及所有子目录下的所有pom.xml文件的”http://repo1.maven.org/maven2“替换为”http://localhost:8081/nexus/content/groups/public“。
find -name 'pom.xml' | xargs perl -pi -e
's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'
4.这里用到了Perl语言perl -pi -e
5.在Perl 命令中加上-e 选项,使用Perl 实现一些强大的、实时的转换。
【方法二】
格式:
$var =~ s/regex/replacement/
例子:
$var = "23453453465346";
print "$var\n";
if ($var =~ s/453/543/)
{print "$var\n";}
结果:
E:\>perl test.pl
23453453465346
23543453465346
结论:程序执行时扫描顺序由左至右,且执行一次