Supondo que você queira comparar linhas em file b
com linhas correspondentes em file a
(ou seja, que ambos os arquivos tenham o mesmo número de linhas e você esteja comparando linha por linha), use um script Perl para faça isso por você:
#!/usr/bin/perl
$file_a = "/path/to/file_a";
$file_b = "/path/to/file_b";
open $fa,'<',$file_a or die "Failed to open file $file_a: $!\n";
open $fb,'<',$file_b or die "Failed to open file $file_b: $!\n";
@file_a = <$fa>;
@file_b = <$fb>;
close $fa;
close $fb;
for (0..$#file_a){
($col_c,$col_d) = (split / /,$file_a[$_])[2,3];
$col_z = $file_b[$_];
$to_display = "$col_c $col_d";
if($col_z eq $col_d){
$to_display .= " $col_z";
}
else{
$to_display .= " pin";
if ($col_z gt $col_c and $col_z gt $col_d ){
$to_display .= " lon";
}
elsif($col_z lt $col_c and $col_z lt $col_d) {
$to_display .= " sma";
}
}
print "$to_display\n";
}
Salve o arquivo acima como /path/to/myscript
(depois de modificar os locais de file_a
e file_b
em seus locais verdadeiros), torne-o executável: chmod +x /path/to/myscript
e finalmente invoque-o: $ /path/to/myscript
.