Re: [問題] 檔案內容比對
※ 引述《jammy8 (jay)》之銘言:
: 請教前輩們
: 如果我有兩個檔案內容要做差異比對,
: 比如兩個檔案分別為/tmp/20100414.log 和 /tmp/20100413.log
: 若有更新的行才做輸出到新的檔案,
: 請問該用何種方式會較好?
: 因為我是想到用shell的diff去做比對,
: 但比對後的檔案在行會有 > 的輸出,
: 而我不希望有 > 的輸出,
: 所以希望前輩們能給予指教...謝謝
我會用二個Hash去比較,大概如下
open( F, 'file1');
my @lines1=<F>;
close(F);
my $h1 = undef;
my $ndx = 0;
while (defined $lines1[$ndx])
{
chomp $lines1[$ndx];
$h1->{$lines1[$ndx]} = 1;
$ndx++;
}
open( F,'file2');
my @lines2=<F>;
close(F);
my $h2 = undef;
my $ndx = 0;
while(defined $lines2[$ndx])
{
chomp $lines2[$ndx];
$h2->{$lines[$ndx]} = 1;
$ndx++;
}
open( F,'>'.'OF.TXT');
foreach my $key( keys %$h1 )
{
if ( !defined $h2->{$key} ) {
print F $key.chr(0xd).chr(0xa);
$h2->{$key} = 99;
}
}
foreach my $key( keys %$h2 )
{
if ( $h2->{$key} == 1 )
{
if ( !defined $h1->{$key} )
{
print F $key.chr(0xd).chr(0xa);
}
}
}
close(F);
大概就將...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.231.31
→
04/20 04:23, , 1F
04/20 04:23, 1F
推
04/20 04:29, , 2F
04/20 04:29, 2F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章