![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Samenvoegen tekstbestanden terwijl het combineren van meerdere header / aanhangwagen records in een stuk. | oordonez | Programmeren en Shell Scripting | 4 | 11-17-2008 11:06 PM |
| Wat is uw leeftijd? (Deel 2) | Perderabo | What's On Your Mind? | 37 | 07-20-2007 01:27 PM |
| Graaf nr. of Records in het bestand zonder tellen Header en Trailer Records | guiguy | Programmeren en Shell Scripting | 2 | 06-07-2007 01:15 PM |
| Help 2 bestanden te vinden geschrapt records | EJA | UNIX voor Dummies Questions & Answers | 2 | 04-03-2007 09:53 |
| How to extract dubbele records met bijbehorende header record | run_eim | UNIX voor Dummies Questions & Answers | 17 | 01-16-2007 11:46 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
vergelijking van een deel van de kop met een deel van gedetailleerde gegevens.
Hi there,
Ik ben lil verward met het volgende probleem. Ik heb een bestand, dat heeft de volgende header: IMSHRATE_043008_101016 een voorbeeld van een gedetailleerd verslag is:9820101 A982005000CAVG030108000000000000010169000MAR 2008 9820102 MAR 2008 D030108 Ik moet vergelijken het deel van de kop (het wordt in het Rode Lettertype en haar een DDMMJJ formaat) met de Een deel van Gedetailleerde record (de in het geel lettertype en zijn ook DDMMJJ formaat). Het probleem is er zijn duizenden van dergelijke gedetailleerde dossiers (op een gemiddelde 50.000 records) in een enkel bestand. Kan iemand me helpen bij het vergelijken van deze 'deel van de kop' met de 'deel van gedetailleerde record' highlightened in Rood en Geel lettertype in bovenstaand voorbeeld? Groeten, Cmaroju |
|
||||
|
Hoi,
Is de geel gemarkeerde sectie is vastgesteld in alle detail lijnen? Anyway, hieronder perl kan u helpen een beetje ingang (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 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 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";
}
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|