Anwendungs-Software und Apps 14.427 Themen, 72.814 Beiträge

Textdatei - 2 Begriffe in aufeinanderfolgenden Zeilen suchen?

InvisibleBot / 15 Antworten / Flachansicht Nickles

Hallo,

hab ein kleines Problem mit einer Log-Datei. Das ist ein riesiger Haufen Text, hab es momentan in einem Word-Dokument, da sind es 1400 (!!) Seiten. Die Software von der die Log-Daten stammen erlaubt auch keine Filterung, nur den Export als Text.

Das Problem ist dass ich darin ein bestimmtes Ereignis eines bestimmten PC finden muss - nur leider steht der PC-Name nicht in derselben Zeile wie der Ereigniscode, sondern eine Zeile darunter. Und das Ereignis gibts einige hundert Mal, von den verschiedensten PCs. Wenn ich einfach danach suche bin ich wahrscheinlich in Rente bis ich den gesuchten Eintrag finde. Und zu allem Überfluss steht in der Zeile mit dem Ereigniscode vorher das Datum und die Uhrzeit. Das sieht so aus:

Host: PG178
17.10.2011 10:45:18 | Event: XXX  

Darunter sind dann jeweils noch mehrere Zeilen mit näheren Details zum Ereignis.
 
Weiß jemand eine Möglichkeit, Text so zu durchsuchen dass ich 2 Begriffe definieren kann die in direkt aufeinanderfolgenden Zeilen vorkommen?







- Beat the machine that works in your head! -
bei Antwort benachrichtigen
Borlander InvisibleBot „Datum und Zeit dürfen nicht Bestandteil der Suche sein, da ...“
Optionen
Datum und Zeit dürfen nicht Bestandteil der Suche sein, da sie unbekannt sind.

Das ist allerdings kein wirkliches Problem mit Regulären Ausdrücken (RegEx) ;-)

Da müsstest Du den Suchstring so anpassen, dass dort die passenden Ziffern auftreten dürfen…

Wobei mir auch gerade auffällt, dass die Punkte (stehen für beliebige Zeichen) besser noch maskiert werden sollten. So scheint es zu funktionieren:

grep -zo '^Host: PG178\s[0-3][0-9]\.[0-1][0-9]\.[0-9][0-9][0-9][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9] | Event: XXX$' Datei

Das ist aber sicher noch deutlich schöner und sauberer möglich. Dafür müsste man sich aber noch mal umfangreicher mit dem verwendeten RegEx-Dialekt beschäftigen so man den nicht täglich nutzt…

Gruß
Borlander

bei Antwort benachrichtigen