Anwendungs-Software und Apps 14.477 Themen, 73.439 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
InvisibleBot Borlander „Mit grep -zo '^Host: PG178\s17.10.2011 10:45:18 | Event: ...“
Optionen

Datum und Zeit dürfen nicht Bestandteil der Suche sein, da sie unbekannt sind. Genau darum gehts ja - ist von einem bestimmten PC aus etwas Bestimmtes getan worden, und wenn ja, wann?

Wobei gerade Zeilenumbrüche durch die unterschiedlichen Codierungen sowieso problematisch wären…

Jo, ich versuche sein 2 Tagen mir ein Batchscript zusammenzuklauben mit der ich die ganzen uninteressanten Einträge entfernen kann. Aber dazu kenne ich mich nicht gut genug aus, das Script müsste überprüfen ob in der ersten Zeile was bestimmtes steht (der Hostname):
- wenn ja ab der nächsten Leerzeile weitersuchen 
- wenn nein alles bis zur nächsten Leerzeile löschen.

- Beat the machine that works in your head! -
bei Antwort benachrichtigen