Vuoi il token di espressione regolare "alternanza" |
per dire "o questo o quello":
grep -E '2019-(09|10)-' file
Vedi Perché la mia espressione regolare funziona in X ma non in Y? per un po' di background sui token delle espressioni regolari e sulle classi regex (di base, estese, ecc.).
grep
non è bravo a gestire i numeri, non sa confrontarli aritmeticamente. Per questo, potresti voler usare qualcosa come awk o Perl. Non è molto importante qui, dato che è facile elencare semplicemente 09
e 10
, ma se avessi qualcosa come un intervallo compreso tra 97 e 123 sarebbe molto peggio.
Per esempio. questo sceglierebbe l'anno, il mese e il giorno come numeri e stamperebbe le righe in cui il giorno è compreso tra 27 e 31:
perl -ne 'print if /Last Password Change: ([0-9]+)-([0-9]+)-([0-9]+)/ && $3 >= 27 && $3 <= 31' < file
La regex è per lo più come un grep ERE, le parentesi catturano le parti corrispondenti nelle variabili $1
, $2
, $3
ecc.