in reply to comparing arrays
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 Section
Seekers of Perl Wisdom