Perl 如何在多个文件上同时使用grep命令?
我希望在代码上节省一些执行时间。因此,我不希望对单个文件应用grep(使用foreach),而是希望同时对数组中的所有文件使用grep 我正在使用:Perl 如何在多个文件上同时使用grep命令?,perl,grep,Perl,Grep,我希望在代码上节省一些执行时间。因此,我不希望对单个文件应用grep(使用foreach),而是希望同时对数组中的所有文件使用grep 我正在使用: `grep -Pi "search string" $files` 但它并没有给我想要的结果,因为搜索字符串是双引号(“…”),而complete命令是反勾号 在这里,$files包含所有文件的路径,这些文件由一个空格分隔,并且搜索字符串具有类似regex的^\\s*abc | bcd | efg\\s+…请帮个忙并安装。在此之后,您很少使用g
`grep -Pi "search string" $files`
但它并没有给我想要的结果,因为搜索字符串是双引号(“…”),而complete命令是反勾号
在这里,
$files
包含所有文件的路径,这些文件由一个空格分隔,并且搜索字符串
具有类似regex的^\\s*abc | bcd | efg\\s+…
请帮个忙并安装。在此之后,您很少使用grep
<代码>确认:
- 自动递归到子目录中
- 将搜索参数视为Perl正则表达式
- 丰富的命令行选项集比
grep
通过从CPAN安装分发版来安装,类似的方法应该可以工作
$s1='search string';
@x = qx(grep -Pi "$s1" $files);
谢谢,但搜索字符串中有正则表达式,ack也处理正则表达式吗?我是perl新手,我必须搜索像“^\\s*abc|bcd|efg\\s+…是的,ack支持正则表达式。它是用纯perl编写的。