Um zu erreichen, was Sie mit grep versuchen (genauer gesagt, die Option extended-regexp), müssen Sie einen regulären Ausdruck bereitstellen. Reguläre Ausdrücke sind etwas begrenzt, aber ich habe eine einfache Antwort für dieses spezielle Szenario gefunden.
bash>grep -E "Nov 9 15:[0123][0-9]|Nov 9 15:[4][0-5]" testFile
Der Inhalt testfile ist die folgende:
Nov 9 15:02
Nov 9 15:01
Nov 9 15:09
Nov 9 15:39
Nov 9 15:49
Nov 9 15:59
Dies sollte aber für das Szenario Sie präsentierten gut funktionieren.
bash>grep -E "Nov 9 15:[0123][0-9]|Nov 9 15:[4][0-5]" testFile
Nov 9 15:02
Nov 9 15:01
Nov 9 15:09
Nov 9 15:39
Der erste Teil des Ausdrucks übereinstimmt etwas vom 9. Nov 15.00 Uhr bis 15.39 Uhr und der zweite Abschnitt übereinstimmt etwas von November 9 von 15.40 bis 15.45 Uhr.
Edit: Die Syntax Teil davon ist nur Standard, numerische Ausdruck Bereiche. [0123] [0-9] Bedeutet, dass alles mit 0, 1, 2 oder 3 gefolgt von einer anderen Ziffer von 0-9 (01, 02, 03, 39 usw.) übereinstimmt, während [4] [0-5 ] entspricht 4, gefolgt von einer Ziffer von 0 bis 5.
Was lässt Sie denken, dass 'awk' nicht von einem Bash-Skript ausgeführt werden kann? – RJHunter
Ist die Datei nach Datum oder nur zufälligen Zeilen sortiert? Können Sie Beispieleingabe und gewünschte Ausgabe geben? – dawg
@RJHunter, weil ich versucht habe, es vom Bash-Skript auszuführen, aber es lief nicht und ich bin nicht sehr vertraut mit 'awk'. –