私は、ファイル内の行を比較する必要があります。Perlを使ってファイル内の行を比較するにはどうすればよいですか?
KB0005 1019 T IFVATVPVI 0.691 PKC YES
KB0005 1036 T YFLQTSQQL 0.785 PKC YES
KB0005 1037 S FLQTSQQLK 0.585 DNAPK YES
KB0005 1045 S KQLESEGRS 0.669 PKC YES
KB0005 1045 S KQLESEGRS 0.880 unsp YES
KB204320 1019 T IFVATVPVI 0.699 PKC YES
KB204320 1036 T YFLQTSQQL 0.789 PKC YES
KB204320 1037 S FLQTSQQLK 0.589 DNAPK YES
KB204320 1045 S KQLESEGRS 0.880 unsp YES
私は(行は名前が異なって、私は最初の2つの配列にラインを入れてやって管理しており、異なるか繰り返さない行を印刷する必要がありますKB0005
とKB204320
)、その後、perlスクリプト書き込むことによって:
コード:
foreach $item (@a1, @a2) { $count{$item}++;}
foreach $item (keys %count) {
if ($count{$item} == 2) {
next;
} else {
push @diff, $item;
}
}
my @sorted =sort @diff;
#print "\nIntersect Array = @isect\n";
foreach my $el(@sorted){
print "$el\n";
}
出力リレー:
1019 T IFVATVPVI 0.691 PKC
1019 T IFVATVPVI 0.699 PKC
1036 T YFLQTSQQL 0.785 PKC
1036 T YFLQTSQQL 0.789 PKC
1037 S FLQTSQQLK 0.585 DNAPK
1037 S FLQTSQQLK 0.589 DNAPK
1045 S KQLESEGRS 0.669 PKC
これはうまくいく、私はちょうど与えられた行が出ている行(KB005または他の)から印刷したいと思う。
どうすればよいですか?
誰でもこの質問を真剣に見てほしい場合は、書式を修正する必要があります。 –
これは宿題のように聞こえる。 – Weegee
彼はそのほとんどを持っていると答えました。宿題かどうか – Xetius