Ich muss die Protokolldatei zwischen lesen und meine Frage ist, wie ich mit Unix-Befehlen nur den Text in der Datei abrufen kann, der zwischen zwei Daten liegt. Jede Zeile enthält ein Datum, und ich möchte den Text in der Datei erhalten, dessen Datum gleich oder größer als das FROM-Datum und niedriger oder gleich dem TO-Datum ist.
Das Format des Datums ist 13/05/23 01:58.
Das zweite Datum ist für ein Beispiel 13/05/13 07:50. Beispiel
13:41:55,110 INFO HellowordlsThis text is generated by me
Antworten:
Da die Daten in einem Format vorliegen, in dem die chronologische Reihenfolge mit der lexikalischen Reihenfolge übereinstimmt, können Sie Folgendes tun:
(vorausgesetzt, die Zeitstempel befinden sich am Anfang jeder Zeile)
quelle
awk '/^May 24 04/,/^May 24 05/'
(für Nachrichten im Syslog-Format). Dies hat eine etwas andere Semantik als Stephanes Antwort, kann aber kompakter sein.