SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] rette alle forekoster i en fil med noget fra anden fil



Kim Schulz <sslug@sslug> writes:

> jeg har med 2 data filer at gøre - en med forhandlere og en med varer.
> De skal importeres i en database men først skal kolonnen med forhandler
> numre i varelisten rettes til forhandlerens navn i stedet for nummer.

Under antagelse af at dine felter ikke indeholder semikoloner, så
burde følgende gører det. Ellers skal du lige tilpasse de to
split-linjer og print-linjen.

#perl
my ($forhandlerliste,$varerliste) = @ARGV;
my %forhandler;

open FH, '<', $forhandlerliste;
while(<FH>) {
    @linje = split /;/;
    $forhandler{$linje[0]} = $linje[1];
}
close FH;

$, = ';';
open FH, '<', $varerliste;
while(<FH>) {
    @linje = split /;/;
    $linje[14] = $forhandler[$linje[14]] || $linje[14];
    print @linje;
}
__END__


-- 
 Peter Makholm     |                                 Wisdom has two parts:
 sslug@sslug |                           1) having a lot to say, and
 http://hacking.dk |                                      2) not saying it


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:54
Denne side vedligeholdes af MHonArc .