Tu dois l'écrire comme ça :
egrep "^w.*\.pdf$" filename
- Les moyens ont commencé avec
w
suivi d'un caractère quelconque et terminé par .pdf
.
pour un "ou" logique, vous pouvez utiliser -e
interrupteur :
egrep -e pattern1 -e pattern2
signifie que toutes les lignes avec pattern1
o pattern2
.
ou comme @steeldriver l'a suggéré, utilisez l'expression rationnelle "ou" :
egrep "(pattern1|pattern2)"
et comme vous le savez, pour les expressions régulières étendues, vous devez utiliser egrep
et non grep
par exemple
egrep '(bbb|ccc)' # works fine for your file
grep '(bbb|ccc)' # doens't have any result
Pour un "et", vous devez le relier à un autre. egrep
:
grep pattern1 | grep pattern2
signifie que toutes les lignes avec les deux pattern1
et pattern2
.
ou utiliser un autre outil comme awk
:
awk '/pattern1/ && /pattern2/` filename