Você deseja:
find dir/. ! -name . -prune -type f -name filemask
Ou:
find dir ! -path dir -prune -type f -name filemask
Para localizar os arquivos regulares chamados filemask
in dir
sem pesquisar nos subdiretórios de dir
.
Com find dir ! -name dir -prune
, você teria problemas se houvesse um diretório dir/dir
.
A abordagem dir/.
funciona porque find
não vai encontrar nenhum outro arquivo chamado .
do que o arquivo dir/.
passado como argumento.
A abordagem -path
contorna o caminho do arquivo (em oposição ao nome), -path dir
corresponderá a dir
, mas não a dir/dir
(so dir
será o único diretório que não será podado). -path
pode não estar disponível em versões mais antigas do AIX.
Mais geralmente, para o equivalente padrão do -maxdepth n
do GNU ou do FreeBSD -depth n
, veja Limite de POSIX para profundidade específica?