Grep log-Datei größer als Zeitstempel
Ich habe einen unix-log-Datei(Anwendung.log), die Protokolle mit Zeitstempel an den Start. Ich Suche nach einem Muster "geschickt" in dieser log-Datei größer als die Zeit, die 2014-03-20 14:05:54.
2014-03-20 14:05:54,038 [NfxAgent....
2014-03-20 14:05:54,164 [NfxAgent....
2014-03-20 14:05:54,298 [NfxAgent....
2014-03-20 14:05:54,414 [NfxAgent....
2014-03-20 14:05:54,787 [NfxAgent....
- Mögliche Duplikate von Filter-log-Datei-Einträge basierend auf dem Datum-Bereich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich fügte hinzu, 2 weitere Platten, um die test-Daten, um sicherzustellen, dass dies auch wirklich funktioniert:
Aber ich glaube nicht, dass Sie verwenden können
grep
für diese. Hier ist ein awk-Lösung:Bearbeiten
"Was, wenn wir brauchen, um anzugeben, das Ende der Zeit im gleichen format wie 2014-03-21 10:04:14,018?"
Und ich habe 3 Zeilen von test Daten, um zu bestätigen 2. Fall:
Ergebnis zeigt einen neuen Datensatz in den Bereich, den Sie angegeben haben.
IHTH
awk '$0 > "2014-03-20 14:05:54"'
, aber Ihnen fehlt die zusätzliche Suche nach Muster "geschickt".<=
auf der 2. Zustand. Viel Glück."sent"
direkt in dieawk
- Programm, so dass es keine Notwendigkeit für eine separategrep
Befehl (wie in meiner Antwort).Versuchen:
Hinweis: Dies setzt Voraus, dass es mindestens 1 Zeile in der log-Datei, die tatsächlich beginnt mit
2014-03-20 14:05:54
und dass es OK, um die übereinstimmungen aus, die zweite in der Zeit.Wenn die Existenz einer solchen Linie ist nicht garantiert, @shellter ist
awk
Ansatz überlegen ist; um es zusammen zu fassen: