如何在perl脚本中使用系统命令'grep'

how to use system command 'grep' in perl script

我正在尝试在 Perl 脚本中使用 grep 命令计算匹配字符。下面的脚本正在计算整个目录,我想要的输出应该只包含输入文件的计数而不是整个目录,有人帮我这样做。

#! use/bin/perl

use strict;


print"Enter file name for Unzip\n";
print"File name: ";
chomp(my $Filename=<>);
system("gunzip -r ./$Filename/*\n");
system('grep -c "@SRR" ./$Filename/*');  

这是对整个目录的计数。

#! use/bin/perl
use strict;
print"Enter file name for Unzip\n";
print"File name: ";
chomp(my $Filename=<>);
system("gunzip -r ./$Filename\*");
system("grep -c '\@SRR' ./$Filename\*");

如果我误解了问题,请告知。但是上面的代码给了我们在提供的压缩文件名上匹配@SRR 的行数。

另外不需要解压就可以直接解压

system("zgrep -c '\@SRR' $Filename")

而不是

 system("gunzip -r ./$Filename\*");
 system("grep -c '\@SRR' ./$Filename\*");

我的 $var=cat filename | grep "your word";

谢谢, 尼罗什