\d
(para um dígito decimal) não é suportado pela sintaxe da expressão regular estendida (ERE) POSIX (ou GNU grep) - como você pode confirmar facilmente:
$ echo 'foo1234bar' | grep -E '\d'
Na verdade, \d
vem de perl
e é suportada pelo GNU grep no modo PCRE (expressão regular compatível com perl):
$ echo 'foo1234bar' | grep -P '\d'
foo1234bar
No entanto, isso não ajuda muito em find
, já que o AFAIK ainda não fornece PCRE regextype
- você terá que usar o intervalo de caracteres simples [0-9]
, que é suportado por ERE e por básico expressões (BRE):
find . -regextype posix-egrep -regex "\.\/ex[0-9]+\.jpg"
O motivo \d*\.jpg
corresponde a ex.jpg
porque \d
é tratado como literal d
- e zero ou mais de qualquer coisa corresponde a tudo.