Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2020-06-02 06:09 GMT
Find Nodes?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?

    Results (13 votes). Check out past polls.