![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Merge tekstfiler mens kombinere flere header / trailer records i en hver. | oordonez | Shell Programmering og Scripting | 4 | 11-17-2008 11:06 PM |
| Hvad er din alder? (Del 2) | Perderabo | Hvad tænker du på? | 37 | 07-20-2007 01:27 PM |
| Count nr. Records i File uden optælling Sidehoved og Trailer Records | guiguy | Shell Programmering og Scripting | 2 | 06-07-2007 01:15 PM |
| Hjælp sammenligner 2 filer for at finde slettede registreringer | EJA | UNIX for dummyer Spørgsmål & svar | 2 | 04-03-2007 09:53 AM |
| Sådan ekstrakt dobbeltposter med tilhørende header record | run_eim | UNIX for dummyer Spørgsmål & svar | 17 | 01-16-2007 11:46 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
sammenligne del af header med en del af detaljerede optegnelser.
Hej!
Jeg er lil forveksles med følgende spørgsmål. Jeg har en fil, som har følgende overskrift: IMSHRATE_043008_101016 en prøve detaljeret referat er:9820101 A982005000CAVG030108000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Jeg har brug for at sammenligne del af Header (det er fremhævet med rødt Skrifttype og dets en DDMMÅÅ format) med En del af Detaljeret record "(dens fremhævet med gult skrift og dets også DDMMÅÅ format). Problemet er, at der er tusindvis af sådanne detaljerede optegnelser (gennemsnitligt 50.000 records) i en enkelt fil. Kan nogen hjælpe mig med at sammenligne dem »en del af overskriften 'med' en del af detaljerede record 'highlightened i Rød og Gul font i ovenstående eksempel? Hilsen, Cmaroju |
|
||||
|
Hej, Er den gule fremhævet afsnit er fastsat i alle dine detaljer linjer? anyway, nedenfor perl kan hjælpe dig lidt input (a.txt): Code:
IMSHRATE_043008_101016 9820101 A982005000CAVG 030108 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 9820101 A982005000CAVG 030109 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 9820101 A982005000CAVG 043008 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 output: Code:
MSHRATE_043008_101016 9820101 A982005000CAVG 030108 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Smaller than header 9820101 A982005000CAVG 030109 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Bigger than header 9820101 A982005000CAVG 043008 000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Equal with header kode: Code:
open FH,"<a.txt" or die "Can not open file\n";
my @arr=<FH>;
close FH;
$arr[0]=~m/(.*)_([0-9][0-9])([0-9][0-9])([0-9][0-9])_(.*)/;
$header=$4.$2.$3;
print $arr[0];
for($i=1;$i<=$#arr;$i++){
my @temp=split(" ",$arr[$i]);
$temp[2]=~m/([0-9][0-9])([0-9][0-9])([0-9][0-9])/;
my $body=$3.$1.$2;
print $arr[$i],($body>$header)?"Bigger than header\n":($body==$header)?"Equal with header\n":"Smaller than header\n";
}
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|