grep + regex zum Log parsen

Diskutiere grep + regex zum Log parsen im Programmieren allgemein Forum im Bereich Programmieren unter Linux/Unix; Hi zusammen, ich möchte ein Logfile gerne auf eine Stringkombination durchsuchen. D.h. im Log steht sowas wie: 2016-12-20 10:10:43 ETL started :...

  1. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    Hi zusammen,
    ich möchte ein Logfile gerne auf eine Stringkombination durchsuchen.
    D.h. im Log steht sowas wie:

    2016-12-20 10:10:43 ETL started : cxyz
    ...
    ...
    ...
    ...
    2016-12-20 10:15:43 ETL started : avcx

    via
    grep -n "ETL started : " logfile.txt
    komme ich an die Zeilen. Nun möchte ich die Ausgabe gerne weiter verfeinern und nur Zeilen ausgeben, auf denen ein ERROR folgt:


    2016-12-20 10:10:43 ETL started : cxyz
    ...
    ...
    ...
    ...
    2016-12-20 10:15:43 ETL started : avcx
    ERROR ....
    ...
    ...

    In dem Fall möchte ich gerne nur den 2. Eintrag angezeigt bekommen. Leider stehen die Strings nicht in einer Zeile, sondern ggfs. mit 50 (oder mehr) Zeilen unterschied (bis zum nächsten ETL started).

    HAbt ihr eine Idee?
    Gruß,
    J.
     
  2. #2 hellfire, 20.12.2016
    hellfire

    hellfire Foren As

    Dabei seit:
    25.05.2016
    Beiträge:
    90
    Zustimmungen:
    11
    Grundsätzlich sei Dir awk dabei wärmstens empfohlen:
    Code:
    awk '/ETL started/{L=$0}/ERROR/&&L{print L;L=""}' logfile.txt
     
  3. #3 floyd62, 20.12.2016
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    315
    Zustimmungen:
    0
    ... oder ganz ähnlich mit sed:
    Code:
    sed -n -e '/ETL started/h' -e '/ERROR/{g;/./p;}'
    
     
  4. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    Vielen Dank!
     
Thema:

grep + regex zum Log parsen

Die Seite wird geladen...

grep + regex zum Log parsen - Ähnliche Themen

  1. RegEx Problem ... grep kein \. außer \.name

    RegEx Problem ... grep kein \. außer \.name: Hallo Leute, ich möchte gerne einen regulären ausdruck zum filtern bestimmter dateien außer 1 bestimmten. Konkret bedeutet das ich möchte alle...
  2. egrep regexp Problem

    egrep regexp Problem: Salute Ich muss mit egrep etwas matchen lassen, was mit a oder f beginnt und anschliessend eine 6 stellige Zahl hat. Bsp: a378570 Die...
  3. Textdatei filtern und löschen mit grep /sed

    Textdatei filtern und löschen mit grep /sed: Guten morgen liebe Forenmitglieder, da ich etliche Jahre in Sachen Linux pausiert habe und nun wegen beruflichem Wechsel wieder dort einsteige...
  4. Kurztipp: Unerwünschte grep-Ausgaben vermeiden

    Kurztipp: Unerwünschte grep-Ausgaben vermeiden: Selbst aus altbekannten Programmen kann man oft noch einiges mehr herausholen - man muss sich nur einmal gründlich mit ihnen auseinandersetzen....
  5. GNU Grep 2.19 freigegeben

    GNU Grep 2.19 freigegeben: Von dem Textsuchprogramm GNU Grep ist jetzt Version 2.19 erschienen, die um durchschnittlich zehn Prozent schneller als die Vorgängerversion...