Sie möchten das "alternative" Token für reguläre Ausdrücke |
um "entweder dies oder das" zu sagen:
grep -E '2019-(09|10)-' file
Siehe Warum funktioniert mein regulärer Ausdruck in X, aber nicht in Y? für einige Hintergrundinformationen zu Token für reguläre Ausdrücke und Regex-Klassen (einfach, erweitert usw.).
grep
kann nicht gut mit Zahlen umgehen, es kann sie nicht arithmetisch vergleichen. Dafür können Sie etwas wie awk oder Perl verwenden. Das ist hier nicht sehr wichtig, da es einfach ist, einfach 09
aufzulisten und 10
, aber wenn Sie so etwas wie einen Bereich von 97 bis 123 hätten, wäre es viel schlimmer.
Z.B. Dies würde Jahr, Monat und Tag als Zahlen auswählen und die Zeilen ausgeben, in denen der Tag zwischen 27 und 31 liegt:
perl -ne 'print if /Last Password Change: ([0-9]+)-([0-9]+)-([0-9]+)/ && $3 >= 27 && $3 <= 31' < file
Die Regex ist meistens wie ein grep ERE, die Klammern erfassen die entsprechenden Teile in den Variablen $1
, $2
, $3
usw.