Spezielle Zeile & die 2 Zeilen davor auslesen

N

nighT

Hallo Leute,

Ich bin, wie manche vielleicht wissen, nicht der geborene Shell-Programmierer ;)
Also Frage ich euch:

Ich suche ein Script, welches mir aus einer Logdatei einen speziellen Ausdruck sucht und diese ganze Zeile incl. den beiden Zeilen zuvor in eine neue Datei schreibt.

Beispiel:
Logdatei:
Code:
[INFO] Hier steht eine Info.
[CONNECTED] Hier stehen Informationen zu der Verbindung!
[CONNECTED] Hier stehen noch mehr Informationen zu der Verbindung!
[NOTICE] Hier steht eine Notice
[CONNECTED] Hier stehen wieder Informationen zu einer Verbindung
[INFO] Und hier steht wieder eine Info
Nun will ich in dieser Logdatei nach "[NOTICE]" suchen und dann diese Zeile und die beiden [CONNECTED] Zeilen davor in eine neue Datei schreiben.
Am besten wäre es, wenn das Script auf Groß- und Kleinschreibung achtet oder immer nur nach dem 1. Wort in einer Zeile sucht. Sonst hätte ich ja später auch Zeilen in der neuen Datei, in welchen das Wort "Notice" sonst wo vorkommt.

Später soll das ganze Script per Cron-Job alle 10 Minuten eine Logdatei durchsuchen und eben diese NOTICE-Zeilen in eine separate Datei schreiben.

Ich hoffe, das Ganze ist gut erklärt.

mfg,
nighT
 
Zuletzt bearbeitet von einem Moderator:
Abend,

ein simples grep?

Code:
       -B NUM, --before-context=NUM
              Zeige NUM Zeilen Kontext vor  einer  auf  das  Muster  passenden
              Zeile an.

Code:
$ grep -B2  "\[NOTICE\]" logfile
[CONNECTED] Hier stehen Informationen zu der Verbindung!
[CONNECTED] Hier stehen noch mehr Informationen zu der Verbindung!
[NOTICE] Hier steht eine Notice

mfg
HeadCrash
 
Zuletzt bearbeitet:

Ähnliche Themen

3 letzte Zeile löschen oder ab Zeile 55 Muster suchen und löschen

Queue für copy Script

CSV Datei mit sed manipulieren/optimieren/ergänzen

Windows clients können nicht mehr auf lange laufendes System zugreifen

*.txt zeilen+spaltenweise auslesen

Zurück
Oben