![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| ld: fatal: Standortverlagerungen bleiben gegen zuordenbaren aber nicht schreibbar Abschnitte | tdallagn | SUN Solaris | 0 | 05-21-2008 07:58 AM |
| Auszug mehrere Teile einer Datei | rgentis | UNIX für Fortgeschrittene und Experten | 1 | 03-18-2008 08:40 PM |
| abgerufen werden mehrere Zeilen auf mehreren Plätzen in eine Datei | dala | Shell Programmierung und Scripting | 8 | 03-14-2008 03:28 PM |
| Griff Konfigurations-Datei mit dem gleichen Namen der Parameter in mehrere Abschnitte | Potro | Shell Programmierung und Scripting | 7 | 03-05-2008 11:36 AM |
| Auszug einer Datei aus. tar.gz ohne Dekomprimieren. tar.gz-Datei | balireddy_77 | Shell Programmierung und Scripting | 2 | 07-10-2007 04:23 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Extrakt mehrere Abschnitte der Datei
Ich habe eine Datei, die ich zu analysieren mehrere Abschnitte aus der Datei.
Die Datei enthält mehrere Zeilen, die mit ST (Abunch von Daten) Dann wird die Datei enthält mehrere Zeilen, die mit SE (Abunch von Daten) SE * 30 * 0001 ST * 810 * 0002 Ich benötige alle der Linien zwischen den und auch diese. Sie sind Rechnungen. Die Rechnung beginnt mit der ST-Linie und endet mit der SE-Linie. Ich brauche, um all die Rechnungen in separaten Dateien. Kann jemand bitte helfen Sie mir. Ich weiß, Grep, sedOder AWK können dies tun, aber nicht sicher, wie. Danke Hier ist ein Beispiel: ST * 810 * 0001 BIG * 20080315 * 1220680417 ** LIEFERUNG *** DI N1 * SF * McLane Hochebene * 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 ***** netto 7 IT1 ** 1 * CA * 20/09 * 649251 ** CB * PI * 093 * UP * 099299711018 * * RA NA TXI * ZZ * 1,53 **** 2 CTP ** RES * 0 *** CSR * 1 PID * F **** 7-11 T-SHIRT BAG 1 / 7 BBL PO4 * 1000 IT1 ** 1 * EA * 33,72 ** CB * 834861 * PI * 093 * UP * 012253022401 * * RA NA TXI * ZZ * 2,57 **** 2 CTP ** RES * 0 *** CSR * 1 PID * F **** KIT CONCRETE CHAMP PO4 * 1 IT1 ** 1 * EA * 0,03 ** CB * 192849 * PI * 093 * UP * 000000192842 * * RA NA CTP ** RES * 0 *** CSR * 1 PID * F **** SCS 711 BK 200 PO4 * 1 IT1 ** 30 * * 2,59 ** EA CB * 001511 * PI * 093 * UP * 025215102776 * * RA NA CTP ** RES * 0 *** CSR * 1 PID * F **** MAXELL T-160 PLUS VIDEO PO4 * 1 TDS * 18454 SAC * C * G740 *** 5300 *** ******* 06 SERVICE CTT * 4 SE * 30 * 0001 |
|
||||
|
Vielen Dank für Ihre prompte Antwort.
Er tat, was ich wollte. Doch die drei Abschnitte müssen analysiert werden, um auf verschiedene Dateien. So haben Sie ST Daten SE Diese sollten ergriffen werden, um Datei 1 ST Daten SE Diese sollten ergriffen werden, um Datei 2 ETC ..... Auch habe ich festgestellt, dass die ST und SE sind nummeriert. ST * 810 * 0004 Dann SE * (Anzahl) * 0004 Danke Zuletzt bearbeitet von rgentis; am 03-18-2008 08:07 PM.. Grund: etwas hinzugefügt |
|
||||
|
nawk 'BEGIN (n \u003d 1)
$ 0 ~ / ^ ST / f \u003d (1) $ 0 ~ / ^ SE / (Rechnung [n] \u003d sprintf ( "% s \ n% s", Rechnung [n], $ 0), f \u003d 0, n \u003d n +1) ( if (f \u003d\u003d 1) Rechnung [n] \u003d sprintf ( "% s \ n% s", Rechnung [n], $ 0) ) END ( for (i in Rechnung) print Rechnung [i]>> i close (i) ) 'Filename |
|
||||
|
Extrakt mehrere Abschnitte der Datei
# - Verwenden Sie Werte wie ST Ausgabedatei.
awk-v out \u003d "/ dev / null" / ^ ST / (gsub ( "\ \ *","-",$ 0); out \u003d $ 0". Txt ") / ^ SE / (close (out)) (Printf "% s \ n", $ 0>> aus) '$ INFILE Leistung wird ST-810-0001.txt so weiter ... -Ramesh |
![]() |
| Lesezeichen |
| Tags |
| Linux, Linux-Befehle, solaris |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|