我有這個腳本,比較兩個文件並打印出不同的結果。現在我想更改腳本而不是打印出差異線,我想打印匹配的線。還要計算每次運行腳本時匹配的時間。你能請任何人給我一個建議。謝謝!perl比較兩個文件並打印匹配的行
#! /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;
非常感謝您的回答太滿,滿足我的主要目標,但不是第二個目標。我覺得我還不夠清楚。對不起。我想讓櫃檯告訴我他們有多少次匹配。例。該腳本每週運行一次,因此計數器每次運行都會添加1個數字。所以如果我在4周後看到'4',那就意味着設備在那裏4周,如果第二條線匹配3次,這意味着設備在那裏3周等等。只是我的目標是要知道每個設備匹配多少星期。 – eli