Wie Sortieren Sie die Ausgabe aus mehreren Log-Dateien nach Datum
Habe ich die Ausgabe aus verschiedenen log-Dateien:
logfile3
2010/07/21 15:28:52 INFO xxx
2010/07/21 15:31:25 INFO xxx
2010/07/21 15:31:25 DEBUG xxx
logfile1
2010/07/21 19:28:52 INFO xxx
2010/07/21 19:31:25 INFO xxx
2010/07/21 19:31:25 DEBUG xxx
logfile2
2010/07/21 13:28:52 INFO xxx
2010/07/21 13:31:25 INFO xxx
2010/07/21 13:31:25 DEBUG xxx
Möchte ich Sortieren Sie die Ausgabe nach Datum, aber halten Sie den Namen der Datei oben die log-Zeilen, so sollte es Aussehen:
logfile2
2010/07/21 13:28:52 INFO xxx
2010/07/21 13:31:25 INFO xxx
2010/07/21 13:31:25 DEBUG xxx
logfile3
2010/07/21 15:28:52 INFO xxx
2010/07/21 15:31:25 INFO xxx
2010/07/21 15:31:25 DEBUG xxx
logfile1
2010/07/21 19:28:52 INFO xxx
2010/07/21 19:31:25 INFO xxx
2010/07/21 19:31:25 DEBUG xxx
Haben Sie eine Idee, wie man eine Ausgabe wie diese mit bash-Kommandos, sed oder awk?
Vielen Dank!
UPDATE:
Dies ist die Quelle der Ausgabe
for i in $( find log/ -iname *debug*.log -size +0 );do
if [ `grep -c 'ERROR' $i` -gt 0 ];then
echo -e "\n$i"
grep 'ERROR' --color=auto -A 5 -B 5 $i
fi
done
Martin
- "Ich habe die Ausgabe aus verschiedenen log-Dateien"... in einer einzigen Datei?
- Mach das mal überschneiden? Wenn ja, wie möchten Sie die Dateien gemeldet?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie in der Lage, um zufriedenstellende Ergebnisse von dieser (solange keiner von Ihren Dateinamen enthalten Doppelpunkte):
Jeder Zeile vorangestellt, von dem Dateinamen. Ihre Ausgabe wird in etwa so Aussehen:
Können Sie AWK zu formatieren, die in das format, das Sie zeigen in Ihrem Beispiel:
Hier sind verschiedene Verbesserungen, die für Ihr Skript, falls Sie immer noch verwenden es:
Wenn Sie Sie haben, Ausgaben, die bereits in eine Datei (oder ein Skript ausgegeben), dann würde ich Perl:
Oder, ein wenig mehr sauber:
Danke an Euch alle.
Ich verbesserte Skript von Dennis Williamson zu Sortieren Fehler nach Datum. Jede log-Datei mit Fehlermeldung im inneren ist in einer Datei gespeichert, benannt nach dem timestamp der Letzte Fehler aufgetreten ist. Diese Dateien werden später sortiert und zusammengestellt. Möglicherweise gibt es sauberere Lösungen als die Verwendung von temp-Dateien.
Meinungen und Verbesserungsvorschläge dankbar!