The simple solutions is using textutils
join <(sort -n file1) <(sort -n file2)
(Update: the solution above is wrong. Thanks to L~R for warning me about it. The corrected version is below, which btw finds matches only if the numbers in the first column match textually, not only numerically.)
join <(sort -b file1) <(sort -b file2)
And here's a perl solution, dedicated to merlyn.
use warnings; use strict; use Quantum::Superpositions; my $s = do { open my $e, "<", "file1" or die 1; any(<$e>); }; { open my $m, "<", "file2" or die 2; while(<$m>) { $_=~/(\S+)/ and $1==$s and print; }; } __END__
Update 2009 sep 2.
See Re^2: Joining two files on common field for a list of other nodes where unix textutils is suggested to merge files.
In reply to Re: comparing arrays
by ambrus
in thread comparing arrays
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |