![]() |
|
|
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 |
| LD: fataal: bedrijfsverplaatsingen blijven tegen allocatable maar niet schrijfbaar secties | tdallagn | SUN Solaris | 0 | 05-21-2008 08:58 |
| uittreksel meerdere delen van een bestand | rgentis | UNIX for Advanced & Expert Gebruikers | 1 | 03-18-2008 08:40 PM |
| opgehaalde meerdere lijnen op meerdere plaatsen in een bestand | dala | Programmeren en Shell Scripting | 8 | 03-14-2008 03:28 PM |
| Greep Configuratiebestand met dezelfde naam van de parameter in meerdere secties | potro | Programmeren en Shell Scripting | 7 | 03-05-2008 11:36 |
| extract van een bestand formulier. tar.gz zonder UnCompressing. tar.gz bestand | balireddy_77 | Programmeren en Shell Scripting | 2 | 07-10-2007 05:23 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
uittreksel meerdere secties dossier
Ik heb een bestand dat ik nodig om parse meerdere secties van het bestand.
Het bestand bevat meerdere lijnen die beginnen met ST (Abunch van gegevens) Vervolgens wordt het bestand bevat meerdere lijnen die beginnen met SE (Abunch van gegevens) SE * 30 * 0001 ST * 810 * 0002 Ik moet alles van de lijnen tussen en met inbegrip van deze. Ze zijn facturen. De factuur wordt gestart met de ST-lijn en eindigt met de SE lijn. Ik moet het uitbreken van de facturen in aparte bestanden. Kan iemand please help me. Ik weet Grep, sedOf AWK kan dit doen, maar niet weet hoe. Bedankt Hier is een voorbeeld: ST * 810 * 0001 BIG * 20080315 * 1220680417 ** LEVERING *** DI N1 * SF * MCLANE HOGE PLAINS * 92 * 46120004 N1 * st * SWC 7-11 # 57134 * 91 * 571315 N3 * 2712 E 8 ST N4 * Odessa * * TX 79761 REF * ST * 000134 ITD * 05 * 3 ***** ***** 7 NET 7 IT1 ** 1 * CA * 20,09 ** CB * 649.251 * PI * 093 * UP * 099299711018 * RA * Nvt TXI * ZZ * 1,53 **** 2 CTP ** RES * 0 *** MVO * 1 PID * F **** 7.11 T-SHIRT BAG 7 1 BBL PO4 * 1000 IT1 ** 1 * EA * 33,72 ** CB * 834.861 * PI * 093 * UP * 012253022401 * RA * Nvt TXI * ZZ * 2,57 **** 2 CTP ** RES * 0 *** MVO * 1 PID * F **** KIT BETON CHAMP PO4 * 1 IT1 ** 1 * EA * 0,03 ** CB * 192.849 * PI * 093 * UP * 000000192842 * RA * Nvt CTP ** RES * 0 *** MVO * 1 PID * F **** SCS 711 BK 200 PO4 * 1 IT1 ** 30 * EA * 2,59 ** CB * 001.511 * PI * 093 * UP * 025215102776 * RA * Nvt CTP ** RES * 0 *** MVO * 1 PID * F **** Maxell T-160 PLUS VIDEO PO4 * 1 TDS * 18454 SAC * C * G740 *** 5300 ******* 06 *** SERVICE CTT * 4 SE * 30 * 0001 |
|
||||
|
Bedankt voor je snelle reactie.
Het deed wat ik wilde. Maar de drie delen moeten worden ontleed om verschillende bestanden. Dus je hebt ST gegevens SE Dit moet worden genomen om bestand 1 ST gegevens SE Dit moet worden genomen om bestand 2 ETC ..... Ook merkte ik dat de ST en SE zijn genummerd. ST * 810 * 0004 Dan SE * (Aantal) * 0004 Bedankt Laatst bewerkt door rgentis; op 03.18.2008 08:07 PM.. Reden: Toegevoegd iets |
|
||||
|
nawk 'BEGIN (n \u003d 1)
0 dollar ~ / ^ ST / f \u003d (1) 0 dollar ~ / ^ W / (factuur [n] \u003d sprintf ( "% s \ n% s", factuur [n], $ 0), f \u003d 0; n \u003d n +1) ( if (f \u003d\u003d 1) factuur [n] \u003d sprintf ( "% s \ n% s", factuur [n], $ 0) ) END ( for (i in factuur) print factuur [i]>> i close (i) ) 'Bestandsnaam |
|
||||
|
uittreksel meerdere secties dossier
# - Gebruik ST waarden als de uitgang van de bestandsnaam.
awk-V out \u003d "/ dev / null" " / ^ ST / (gsub ( "\ \ *","-",$ 0); out \u003d $ 0". Txt ") / ^ SE / (close (out)) (Printf "% s \ n", $ 0>> out) '$ INFILE Output zal ST-810-0001.txt enzovoort ... -Ramesh |
![]() |
| Bladwijzers |
| Labels |
| linux, Linux commando's, solaris |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|