Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Mit AWK ein Logfile auswerten

  1. #1
    Registrierter Benutzer
    Registriert seit
    01.12.2006
    Beiträge
    6

    Mit AWK ein Logfile auswerten

    Hallo Forum,
    ich versuche folgendes Problem mit einem AWK-Script zu lösen. Folgende Logdatei möchte ich auswerten.

    STATEMENT NAME: QZ8C624426A9918000
    select a.avis_id, a.sendungs_id, c.tourenelement , c.zelle, c.zellenelement,
    a.kundennummer, a.geschaeftsprozess, b.letzterstatus_zeitpunkt, b.letzterstatus,
    b.letzterstatus_grund, b.letzterstatus_ort, c.nachname, c.vorname,
    c.laenderkennzeichen from avis a, avis_zusatz b, adresse c where a.mandant_ID =
    ? and a.mandant_ID = b.mandant_ID and a.avis_id = b.avis_id and a.mandant_ID =
    c.mandant_ID and a.erfuellungsort_adress_id = c.adress_id and c.nachname = ?
    and c.vorname = ?
    SQL4021 Zugriffsplan zuletzt am 30.11.06 um 13:25:23 gesichert.
    SQL4020 Geschätzte Abfrageausführungszeit beträgt 0 Sekunden.
    SQL402D Abfrageattribute durch Abfrageauswahldatei QAQQINI in Bibliothek HADV überschrieben.
    SQL4027 Zugriffsplan wurde gesichert, während DB2 UDB Symmetric Multiprocessing auf dem System installiert war.
    SQL4007 Abfrageimplementierung für Verknüpfungsposition 1, Tabelle 3.
    SQL4008 Index ADRES00005 für Tabelle 3 verwendet.
    SQL4011 Zeilenpositionierung nach Indexsuchschlüssel für Tabelle 3 verwendet.
    SQL4007 Abfrageimplementierung für Verknüpfungsposition 2, Tabelle 1.
    SQL4008 Index AVIS für Tabelle 1 verwendet.
    SQL4011 Zeilenpositionierung nach Indexsuchschlüssel für Tabelle 1 verwendet.
    SQL4007 Abfrageimplementierung für Verknüpfungsposition 3, Tabelle 2.
    SQL4008 Index AVIS_00003 für Tabelle 2 verwendet.
    SQL4011 Zeilenpositionierung nach Indexsuchschlüssel für Tabelle 2 verwendet.
    SQL4006 Alle Indizes für Tabelle 3 berücksichtigt.
    SQL4006 Alle Indizes für Tabelle 3 berücksichtigt.
    SQL4006 Alle Indizes für Tabelle 3 berücksichtigt.


    Ich möchte im Prinzip nur das "Select Statement" als eine aneinanderhängende Zeile ausgeben. Alle anderen Zeilen wie. "STATEMENTNAME" und die "SQL*" -Zeilen sollen nicht mit ausgegeben werden.

    Ein AWK-Profi löst diese Aufgabe sicherlich in Minuten. Ich leider nicht. Vielleicht kann mit jemand dabei helfen.

    Danke

    Gruß Henrik

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von bass.bass Beitrag anzeigen
    Ein AWK-Profi löst diese Aufgabe sicherlich in Minuten. Ich leider nicht. Vielleicht kann mit jemand dabei helfen.

    Danke

    Gruß Henrik
    awk '$1!~/^SQL.*/{print $0}'

    (Die Lösung hatte ich ca. in 50 Sek., aber mit schreiben && copy/paste
    bin ich über die Minute gekommen.)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  3. #3
    Registrierter Benutzer
    Registriert seit
    01.12.2006
    Beiträge
    6
    awk '$1!~/^SQL.*/{print $0}'

    (Die Lösung hatte ich ca. in 50 Sek., aber mit schreiben && copy/paste
    bin ich über die Minute gekommen.)

    Ist schon nicht schlecht.

    Aber Zeilen die mit "STATEMENTNAME" anfangen sollen auch verschwinden und ich möchte das SQL-Statement was über mehrere Zeilen verteilt ist auf eine Zeile verketten.

    Jetzt wirds schwer

  4. #4
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von bass.bass Beitrag anzeigen
    Jetzt wirds schwer
    Nö, 1.30 Min. mußte erst noch 1x nachschauen.
    awk -v ORS="" '$1!~/^SQL.*/ && NR != 1{print $0}'
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  5. #5
    Registrierter Benutzer
    Registriert seit
    01.12.2006
    Beiträge
    6
    Hallo,

    vielen Dank für die Antwort.

    Gruß Henrik

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •