Esta não é uma expressão regular estendida (ERE). egrep
interpretará isso como 123
seguido por >fruit
ou juiceomatic
(o ?
é ignorado) seguido por machine
. Isto significa que irá corresponder em:
123>fruitmachine
123>juiceomaticmachine
mas não:
123fruitjuiceomaticmachine
A notação (?>...)
é de PCRE e significa grupo atômico sem captura , veja pcresyntax(3)
. Você pode usá-los com o GNU grep e com a opção -P
.
Se eu entendi corretamente, você precisa que 123
seja seguido por fruit
, que pode ser seguido por juiceomatic
ou nada. Nesse caso, acho que 123fruit(|juiceomatic)machine
é o ERE que você quer.