Ich muss Log-Datei analysieren, so dass ich die Fehler (mit dem Stack-Trace unten) und 10 Zeilen über jeden Fehler ausgeben.Wie kann ich 10 Zeilen über und bis zu einem passenden Wort unten für jede passende Zeile drucken?
Zum Beispiel:
2017-10-29 00: 00: 10.440 INFO ...
2017.10.29 00: 00: 10.473 WARN ...
2017.10.29 00 : 00: 10.504 INFO ...
2017-10-29 00: 00: 10,547 INFO ...
2017-10-29 00: 00: 10.610 INFO ...
2017-10-29 00:00 : 11,176 WARN ...
2017-10-29 00: 00: 11.894 WARN ..
2017-10-29 00: 00: 11.900 INFO ...
2017.10.29 00: 00: 11.900 INFO ...
2017.10.29 00: 00: 12.632 Warn ...
2017.10.29 00: 00: 12.946 ERROR ...
... (Stack trace) ...
... (Stack trace) ...
... (Stack trace) ...
2017.10.29 00: 00: 12.946 WARN
Ich muss 10 Zeilen über den FEHLER bis zum Datum (2017-10-29) unten ausgeben (ohne die Zeile des Datums)
Dachte über tun mit grep -n -B10 "ERROR" (für die obigen 10 Zeilen) und sed '/ ERROR /,/29/p' (für den Stack-Trace) aber wie kombiniere ich die beiden?
kann ich nicht denken Sie an einen Weg, sie zu kombinieren, aber es wäre relativ einfach sein, schreibe ein Bash-Skript, um dies als eigenständige Aufgabe zu tun, ohne grep oder sed zu verwenden. – Nick