O plain grep usa expressões regulares básicas. Sua regex usa -d
e ?
e {m,n}
que não são reconhecidos.
Você deseja grep -E
, mas isso pode não reconhecer \d
. Se não mudar para [0-9]
grep -Erle '[3-6][0-9]{3}([ -]?)[0-9]{4}([ -]?)[0-9]{4}([ -]?)[0-9]{3,4}' *
Ou use grep -P
para usar regexes compatíveis com perl
Ref: link