web-dev-qa-db-fra.com

Comment faire la différence entre l'utilisation de '*', '+' et '?' dans grep?

Je comprends que

'*' : The preceding item will be matched zero or more times.
'?' : The preceding item is optional and will be matched, at most, once.
'+' : The preceding item will be matched one or more items

Quelqu'un peut-il me donner un exemple du moment où il y aurait une différence d'utilisation de grep? J'utilisais egrep, mais j'ai essayé de vérifier si je pouvais générer des sorties différentes pour ces opérateurs.

4
posixKing

faire un exemple? Essaye le?

$ cat greppy
grp
grep
greep

zéro ou plus e ici

$ egrep 'gre*p' greppy
grp
grep
greep

zéro ou un e ici

$ egrep 'gre?p' greppy
grp
grep

un ou plusieurs e ici

$ egrep 'gre+p' greppy
grep
greep
12
Zanna