我试图在Windows代码上找到一个Perl,它允许我在特定目录中的多个文件上应用多个查找和替换正则表达式查询。我可以使用许多文本编辑器(例如UltraEdit)应用多个查找和替换正则表达式查询。
答案 0 :(得分:3)
您的问题不是很具描述性。这样做你想要的吗?
已编辑在Windows上工作
perl -i.bak -pe"BEGIN {@ARGV = map glob, @ARGV} s/a/b/g; s/c/d/g; s/e/f/g; " My/Files/Directory/*.txt
除非您只进行一些更改,否则最好将替换命令放在文件中,例如
BEGIN {
@ARGV = map glob("\"$_\""), @ARGV;
}
s/a/b/g;
s/c/d/g;
s/e/f/g;
然后你可以在命令行上的一组文件上运行它,就像这样
perl -i.bak -p changes.pl My/Files/Directory/*.txt
答案 1 :(得分:1)
这是一个基本的perl
程序(可能命名为myreplacers.pl
),可以做到这一点:
#!/usr/bin/perl
use strict;
use warnings;
while(<>) {
s/regex1/replace1/;
s/regex2/replace2/;
print;
}
使用适当的正则表达式和替换文本进行更改,并像perl myreplacers.pl file1 file2
等一样运行