2015-04-15 98 views
0

我想在Perl脚本中使用grep命令来计数匹配的字符。下面的脚本是计算整个目录,我的所需输出应该只包含输入文件的数量而不是整个目录,有一个帮助我这样做。如何在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/*'); 

这是给整个目录数量。

+0

交叉验证:http://askubuntu.com/q/609452/336375 – Cyrus

+0

您是否了解上述问题? –

+0

你有没有使用系统的grep命令,或者你不知道如何在Perl中使用'grep'命令?如果你不必使用系统的grep命令,为什么不使用Perl中的那个? –

回答

0
#! 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\*"); 
0

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

谢谢, nilesh。