in reply to Re^2: Sorting text files.
in thread Sorting text files.

What happens if there are duplicate keys?


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^4: Sorting text files.
by Anonymous Monk on Nov 06, 2015 at 21:46 UTC

    That's why the .= is there :)

      Cool. (But within the duplicate records no ordering is done. Which might be what the OP wants.)

        Well, the OP didn't ask for that, but if he wants it, (and this is one of the reasons I love perl) it's an easy fix :)

        #!/usr/bin/perl # http://perlmonks.org/?node_id=1147112 use Inline::Files; use strict; use warnings; my %id; $id{ s/;.*//r } .= $_ for sort <FILE1>; print delete @id{ <FILE2> }, values %id; __FILE1__ 1 HD;BSkyB:11097:VC23M5O25P0S1:S28.2E:23000:2305=27:2307=NAR@4;2306=en +g@106:2308;2309=eng:0:21000:2:2066:0 2 HD;BSkyB:11097:VC23M5O25P0S1:S28.2E:23000:2315=27:2316=NAR@4;2317=en +g@106:2318;2319=eng:0:21020:2:2066:0 3 HD;BSkyB:11097:VC23M5O25P0S1:S28.2E:23000:2320=27:2321=NAR@4;2322=en +g@106:2323;2324=eng:0:21030:2:2066:0 ITV HD;BSkyB:11097:VC23M5O25P0S1:S28.2E:23000:2305=27:2307=NAR@4;2306= +eng@106:2308;2309=eng:0:21000:2:2066:0 __FILE2__ 3 HD 1 HD 2 HD

        (with another simplification thrown in)