#!/usr/bin/perl
my $file = $ARGV[0];
my $value = $ARGV[1];
my @grabbed;
open (FILE, $file);
while (<FILE>) {
if (/alignment# residue#/) {
push @grabbed, $_;
while (<FILE>) {
last if /^$/;
push @grabbed, $_;
}
}
}
close (FILE);
my $line= `awk ' {if(\$2==$value)} ' @grabbed`;
print $line;
問題的值:匹配在2 d陣列
1。首先,我不知道它可以做到AWK陣列上或不? 2.我試圖匹配存在於二維數組(@grabbed)第二列的值。 @ grabbed將如下所示:
7 1 M 1.000 6 .VPMLG 66.63
8 2 S 1.000 10 .QINTSARKG 66.63
9 3 V 1.000 13 .KTAVFPRGQMSL 66.63
10 4 L 1.000 7 .SLAKFT 66.63
11 5 L 1.000 14 .ALSVQWIKMRYPF 66.63
12 6 R 1.000 16 .DERSAVGTNQLYMIP 66.63
13 7 S 1.000 18 .GDTHPKRSALFCIQVYN 66.63
14 8 G 1.000 17 .DRFLENGAQPSTYCHM 66.63
15 9 L 1.000 19 .NDHPELASVKRCWFGTQI 66.63
16 10 G 1.000 18 .RLDPEGFTYAVCIKNMH 66.63
我試圖匹配並獲取第2列值爲「9」的行。
嗯...對於這個問題大學創建。你嘗試過遞歸函數嗎? – 2012-08-09 12:57:33