![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX für Fortgeschrittene und Experten Expert-to-Experte. Erfahren Sie fortgeschrittene UNIX-, UNIX-Kommandos, Linux-Betriebssysteme, System-Administration, Programmierung, Shell, Shell-Skripte, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Extrahieren von Text | krabu | Shell Programmierung und Scripting | 3 | 04-07-2009 04:16 AM |
| Extrahieren von Text und die Wiederverwendung von Text-Datei umbenennen | JohnDS | UNIX for Dummies Questions & Answers | 7 | 02-05-2009 03:55 AM |
| Extrahieren von Informationen aus Konfigurationsdateien / Textverarbeitung | oconmx | Shell Programmierung und Scripting | 3 | 01-21-2009 07:09 PM |
| Hilfe für Ersetzen von Text in vi | Chandu2u | Shell Programmierung und Scripting | 6 | 01-26-2008 11:12 AM |
| Hilfe erforderlich in Bezug auf Extrahieren von Zeilen aus einer Datei | google_ever | Shell Programmierung und Scripting | 1 | 10-12-2005 08:02 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread |
Bewertung:
|
Anzeige-Modi |
|
|
|
||||
|
Entpacken des gewünschten Text von Log-Dateien
Es wäre sehr spürbar, wenn einer hilft mir in diesem. Ich bin versucht, es durch Java, aber ich liebe Unix und glaube, es kann getan werden, innerhalb weniger Minuten mit paar Zeilen.
Die Input-Log-Datei ist eine Text-Datei enthält mehrere Einträge, getrennt durch eine Leerzeile. Jeder Eintrag entspricht getrennt Upgrade-Prozess Informationen über eine Datei. ! ENTRY Text .....< INFO> oder <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: test.java ! ENTRY Text .....< INFO> oder <OKAY> <RESOURCE: /test/src/com/test1/*/test1.java> 2009-06-18 13:01:01.181 Meldung in test1.java werden aktualisiert. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: vollständigen Pfad /file name> 2009-06-18 13:02:25.681 Meldung wird für die Einfuhr von org.apache.beehive.netui.pageflow.annotations.Jpf JPF Annotation unterstützen. Jeder Eintrag beginnt mit "! Eintrag" wie oben gezeigt und wird gefolgt von Text "com.bea.workshop.upgrade81" und dann wird es, gefolgt von zwei Arten von Tags: <OKAY> und <INFO> Und dann wird es von Tag <RESOURCE: enthält den vollständigen Pfad der Datei und dann gefolgt von Zeitstempel, wie oben gezeigt. Wenn es <OKAY>, dann die zweite Zeile wird wie folgt ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Dateiname (was nicht der große Bedeutung für meine Ausgabe) Ex: ! ENTRY Text .....< INFO> oder <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181 ! MELDUNGSTEXT Ersuchender Upgrade für Datei: Dateiname Wenn es dann auch <INFO> zweiten Zeile wird wie ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Dateiname Aber es wird sicherlich gefolgt von einem weiteren Satz von mehreren Linienpaare mit Tags! Untereintrag, Meldung wie unten ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: path/filename> 2009-06-18 13:02:25.681 Meldung wird für die Einfuhr von org.apache.beehive.netui.pageflow.annotations.Jpf JPF Annotation unterstützen. Meine Forderung ist wie folgt: Anforderung 1 1) Für alle Einträge mit <OKAY> Tag, ich brauche um die Datei zu extrahieren, die Namen werden nach <RESOURCE :..... und vor Zeitstempel Bitte beachten Sie die Einträge werden durch eine leere Zeile Anforderung 2 2) Für alle Zeilen mit <INFO> Tag, ich möchte eine Text-Datei mit Einträgen wie diesem Vollständiger Pfad und den Dateinamen und dann in der nächsten Zeile Der gesamte Text nach! MESAAGE direkt unter der Zeile containg dem Tag der entsprechenden "! Untereintrag 1"-Tags Beispiel Eingabe: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpathr/Test.java> 2009-06-18 13:02:28.368 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test.java ! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test1.jpf ! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test2.jpf ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! Nachricht Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MELDUNGSTEXT Mehr Annotation von Jpf.Action muss hinzugefügt werden. ! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test3.jpf ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! Nachricht Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 Meldung wird für die Einfuhr von org.apache.beehive.netui.pageflow.annotations.Jpf JPF Annotation unterstützen. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MELDUNGSTEXT ABC muss hinzugefügt werden. Ausgang für requirement1: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Test.java Test1.jpf Ausgang für requirement2: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d / fullpath/Test2.jpf Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. Mehr Annotation von Jpf.Action muss hinzugefügt werden. / fullpath/Test3.jpf Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. Wird die Einfuhr von org.apache.beehive.netui.pageflow.annotations.Jpf für JPF Annotation unterstützen. ABC muss hinzugefügt werden. Zuletzt bearbeitet von hareeshram; am 06-20-2009 10:09 AM.. |
|
||||
|
Dies funktioniert, aber wahrscheinlich nur, wenn Sie Ihre Eingabe wird genau beschrieben, wie Sie! Code:
echo "Output from requirement 1"
echo "========================="
grep "<OKAY>.*RESOURCE" infile | sed -e "s/.*RESOURCE:.*\/\(.*\)>.*/\1/" | sort -u
echo
echo "Output from requirement 2"
echo "========================="
awk '
/^!ENTRY.*<INFO>/ { X = 1; sub( /.*RESOURCE: /, "", $0 ); sub( />.*/, "", $0 ); print }
(X == 1) && (/^!SUBENTRY/) { X++ }
(X > 1) && ($1 ~ /^!MESSAGE/) { sub( /!MESSAGE /, "", $0 ); print }
(X > 1) && ($1 ~ /^$/) { print ""; X = 0 }
' infile
Output:
Output from requirement 1
=========================
Test1.jpf
Test.java
Output from requirement 2
=========================
/fullpath/Test2.jpf
The Java 5 annotation Jpf.Controller needs to be added.
More annotation of Jpf.Action needs to be added.
/fullpath/Test3.jpf
The Java 5 annotation Jpf.Controller needs to be added.
Will add import of org.apache.beehive.netui.pageflow.annotations.Jpf for JPF annotation support.
ABC needs to be added.
Zuletzt bearbeitet von scottn; am 06-20-2009 11:44 AM.. |
| Ausgezeichnet Bits / zu Lasten radoulov zu diesem Post | |||
| Datum | User | Kommentar | Betrag |
| 06-22-2009 | hareeshram | Vielen Dank für die intelligente Lösung! | 200 |
|
||||
|
Das war so schnell und präzise!
Dank scottn und radoulov.
Es funktioniert für mich Ich habe eine leichte Änderung in Format, dass ich erwarten würde für beide Anforderungen. Hoffe, Sie lassen mich. Anforderung 1: Die Dateinamen sollten mit voller Wege Anforderung 2: Nach den Namen der Datei (mit vollem Pfad), was auch immer die Nachrichten, die angezeigt werden (eine Nachricht für eine Zeile), werden sie angezeigt werden, ohne dass Doppelarbeit (die gleiche Nachricht in aufeinander folgenden Zeilen sollten entfernt) pro Eintrag und alle nicht dupliziert Einträge werden durch Komma getrennt (und nicht als neue Zeile "). Anders als in den oben genannten Fall, die Datei-und Komma getrennt Nachrichten sollten in der Zeile. Noch einmal vielen vielen Dank für die Aufbewahrung der meinen Geist in Unix. Beispiel Eingabe \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Beispiel Eingabe: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test.java> 2009-06-18 13:02:28.368 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test.java ! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test1.jpf ! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test2.jpf ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! Nachricht Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MELDUNGSTEXT Mehr Annotation von Jpf.Action muss hinzugefügt werden. ! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MELDUNGSTEXT Ersuchender Aktualisierungsbericht für Datei: Test3.jpf ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! Nachricht Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! Nachricht Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 Meldung wird für die Einfuhr von org.apache.beehive.netui.pageflow.annotations.Jpf JPF Annotation unterstützen. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MELDUNGSTEXT ABC muss hinzugefügt werden. ! Untereintrag 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MELDUNGSTEXT ABC muss hinzugefügt werden. Ausgang für requirement1: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d / fullpath / Test.java / fullpath/Test1.jpf Ausgang für requirement2: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d / fullpath/Test2.jpf (getrennt durch TAB) Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden, Mehr Annotation von Jpf.Action muss hinzugefügt werden. / fullpath/Test3.jpf (getrennt durch TAB) Die Java 5 Annotationen Jpf.Controller muss hinzugefügt werden, wird die Einfuhr von org.apache.beehive.netui.pageflow.annotations.Jpf für JPF Annotation Unterstützung, ABC muss hinzugefügt werden, . |
![]() |
| Lesezeichen |
| Tags |
| Log-Extrakt |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|