Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: comparing two huges files

by grep (Monsignor)
on Jan 28, 2008 at 04:08 UTC ( #664625=note: print w/replies, xml ) Need Help??

in reply to comparing two huges files

It's a little difficult to understand the specific details (that and it's hard to read w/o <code> tags), but I think I can figure out enough to help you.

Create a hash. Read the 10K file first. Use the 1st col as the key and the rest of the record as the value.

Then when you loop over the second file if the first col exists in the original hash, write whatever record you want to the file.

Here is some code - It may not do exactly what you want, but that is because I'm guessing your spec.

## UNTESTED use strict; my %hash; open(FH,'<','oldfile') or die "$!\n"; foreach (<FH>) { chomp; my ($key,$data) = split(/\|/,$_,2); $hash{$key} = $data; } close FH; open(NEW,'<','newfile') or die "$_\n"; open(OUT,'>','outfile') or die "$_\n"; foreach (<NEW>) { chomp; my ($key) = split(/\|/,$_,2); if ( exists $hash{$key} ) { print OUT "$hash{$key}\n"; } }
One dead unjugged rabbit fish later...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://664625]
and nobody stirs...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2017-04-28 15:20 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (525 votes). Check out past polls.