Chcete token regulárního výrazu "alternace" |
říct „buď to nebo tamto“:
grep -E '2019-(09|10)-' file
Viz Proč můj regulární výraz funguje v X, ale ne v Y? pro určité pozadí tokenů regulárních výrazů a tříd regulárních výrazů (základní, rozšířené atd.).
grep
neumí zacházet s čísly, neumí je aritmeticky porovnat. K tomu možná budete chtít použít něco jako awk nebo Perl. To zde není příliš důležité, protože je snadné vypsat 09
a 10
, ale pokud byste měli něco jako rozsah od 97 do 123, bylo by to mnohem horší.
Např. to by vybralo rok, měsíc a den jako čísla a vytisklo řádky, kde je den mezi 27 a 31:
perl -ne 'print if /Last Password Change: ([0-9]+)-([0-9]+)-([0-9]+)/ && $3 >= 27 && $3 <= 31' < file
Regulární výraz je většinou jako grep ERE, závorky zachycují odpovídající části do proměnných $1
, $2
, $3
atd.
Bash skript, který ukazuje měnící se hodnoty v reálném čase z příkazů
Vytvořte virtuální blokové zařízení, které zapisuje do /dev/null