grep
procura por expressões regulares no conteúdo dos arquivos. Não procura por arquivos cujos nomes correspondam expressões regulares. (Use find
para isso.) Além disso, antes que o grep os veja, a lista de nomes de arquivos / diretórios que você fornece é interpretada pelo shell. O shell corresponde a arquivos usando globs não expressões regulares.
Shell globs não são tão precisos quanto expressões regulares, mas o seguinte pode funcionar bem para você:
egrep -rnw /var/log/users/*.*/*.conf/user.settings -e "pattern"
Ou, melhor ainda, porque egrep
está obsoleto:
grep -Ernw /var/log/users/*.*/*.conf/user.settings -e "pattern"