私は2つのファイルを比較し、diff結果を出力するこのスクリプトを持っています。今私はdiff行を印刷する代わりにスクリプトを変更したい、私は一致する行を印刷したい。また、スクリプトを実行するたびに一致する回数をカウントすることもできます。誰かが私に提案をお願いします。ありがとう!perlは2つのファイルを比較し、一致する行を出力します
#! /usr/local/bin/perl
# compare
my $f1 = "/opt/test.txt";
my $f2 = "/opt/test1.txt";
my $outfile = "/opt/final_result.txt";
my %results =();
open FILE1, "$f1" or die "Could not open file: $! \n";
while(my $line = <FILE1>){ $results{$line}=1;
}
close(FILE1);
open FILE2, "$f2" or die "Could not open file: $! \n";
while(my $line =<FILE2>) {
$results{$line}++;
}
close(FILE2);
open (OUTFILE, ">$outfile") or die "Cannot open $outfile for writing \n";
foreach my $line (keys %results) { print OUTFILE $line if $results{$line} == 1;
}
close OUTFILE;
あなたの答えがあまりにも私の主要な目標を満たしていない多くのおかげで、2番目のものはありません。私は十分にはっきりしていないと思う。申し訳ありません。カウンターに何回マッチしたか教えてください。例。スクリプトは毎週実行されるので、カウンターは毎回1つの番号を追加します。 4週間後にデバイスを意味する行の隣に '4'が表示された場合、4週間後に2番目の行が3週間一致すると、3週間デバイスを意味するとしましょう。単に私の目的は、各デバイスが何週間になるかを知ることです。 – eli