Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

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"; } }
grep
One dead unjugged rabbit fish later...


Comment on Re: comparing two huges files
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://664625]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2014-09-20 08:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (157 votes), past polls