![]() |
|
|
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 |
| Multiple Feld-Separatoren in awk? (Erste ein Leerzeichen, dann ein Doppelpunkt) | doubleminus | UNIX for Dummies Questions & Answers | 3 | 04-27-2008 04:28 PM |
| Ich benötige Hilfe beim Zählen der Felder und Feld-Separatoren mit Nawk | scrappycc | Shell Programmierung und Scripting | 3 | 02-06-2008 11:47 PM |
| Umleitung können Sie mehrere Dateien für die Eingabe? | Matrix_Prime | UNIX for Dummies Questions & Answers | 4 | 02-27-2005 07:07 PM |
| Awk Multiple Feld-Separatoren | Tonka52 | Shell Programmierung und Scripting | 7 | 04-07-2004 10:37 PM |
| Multiple Output Feld aus der Datenbank-Datei | Dennz | UNIX for Dummies Questions & Answers | 3 | 09-01-2003 01:41 PM |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
||||
|
Ich habe ein paar Beiträge hier Referenzierung, wie sie mit mehr als einem Eingabefeld Trennzeichen in awk. Ich habe ich würden wie ich (nur!) Herausgefunden, wie man diese Zeile in einer Logdatei:
90000000000000000000010001 Namen D0.90000000000103787900010001QF840840916070000007085814Y216254 @ D1111111111111111 \u003d 1107xxxxxxxxxxxxxxx x919MENCHIES in diesem Format: 90000000000000000000010001, Name, 840840916070000007085814Y216654, 1111111111111111,1107,919 MENCHIES Ich habe eine ganze Skript denn dies ist nur ein Schritt in einem Prozess der Umwandlung Protokolle in nützliche Informationen, aber Heres der entsprechende Teil. # Autor: kinksville Datum: 24. April, 2008 # Revidiert: April 24, 2008 # Version: Version 1,00 # Andere Dateien: cclookup.s, cclookup.rep # Changelog: # 24 April 2008: Die Schaffung des Skripts. # # End changelog. BEGIN ( FS \u003d "[\. QF \ @ D \u003d x] +" OFS \u003d "," ) # Erste Iteration der Suche @ D, die Strippen. Charakter und die Einfügung eines OFS. / \ @ D / (# Suche nach einer Zeile mit der Zeichenfolge @ D report2 \u003d "cclookup.rep2" # define report2 Variable. report \u003d "cclookup.rep" # define Bericht Variable. num_cclookup + +; # auth Sie Zahl der Anträge. print $ 1, $ 2, $ 5, $ 6, $ 7, $ 8> Bericht; print $ 0> report2; ) # Ende der @ D suchen. Der Schlüssel ist die Tatsache, dass awk wird einen regulären Ausdruck als Trennzeichen Datei. Diese regexp FS \u003d "[\. QF \ @ D \u003d x] +" mit Räumen, die. QF die Zeichenfolge, die Zeichenkette @ D, die \u003d, und das Zeichen X. + Die nach der abschließenden Klammer ist der Schlüssel, denn das ermöglicht es für 1 oder mehrere Instanzen eines der Zeichen durch die regexp. Das bedeutet, dass x und xxxxxx sind beide als ein einziges Feld-Separator. Ich bin nach wie vor müssen die Arbeit an der Ausgabe, da ich jetzt zu trimmen den Namen aus dem Ende des letzten Bereich. Leider ist die Zahl in den letzten Bereich kann überall 9999999-1 und das ist der Teil, dass ich mich zu bewahren. Vielleicht ein [^ 0-9] + Ausdruck? |
| Lesezeichen |
| Tags |
| awk, awk trim, trim, trim awk |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|