2015-04-15 97 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。