Devido a OP citando o expr '! -name *.*'
, ele se transforma no segundo argumento para find
. Então agora o que
find
pensa que você passou para ele 2
nomes de diretório, isto é, .
e um nome louco ! -name *.*
, então ele tentará listar todos os arquivos / subdiretórios recursivamente nesses dois. Com .
até aí tudo bem, mas quando chega a hora de mergulhar nesse louco dir. ! -name *.*
não pode, a menos que você tenha. E mesmo assim, find
não estará fazendo o que você queria.
Para isso, você deve citar nos lugares apropriados:
find . ! -name '*.*'
ou
eval find . '! -name "*.*"'