Com o GNU, o BSD ou o BusyBox, localize (ou seja, no Linux, * BSD ou Cygwin):
find targetDir -mindepth -name 'target*'
Se você só encontrar o POSIX (por exemplo, no Solaris ou no MINIX), a maneira mais fácil é mudar para o diretório de nível superior primeiro. Em seguida, o local da pesquisa tem o nome exclusivo .
, que você pode excluir.
( cd targetDir && find . -name . -o -name 'target*' -print )
Se você realmente precisar executar a partir de outro diretório, poderá excluir os diretórios chamados targetDir
, mas isso também excluirá itens como targetDir/something/targetDir
.
Alternativamente, você pode fazer o shell fazer o trabalho para você. Use um conjunto de padrões para combinar todos os arquivos em um diretório . Uma desvantagem é que você receberá uma mensagem de erro de find
se um dos padrões não corresponder.
find targetDir/..?* targetDir/.[!.]* targetDir/* -name 'target*'
Se você sabe que não há arquivos de ponto no diretório e que o diretório não está vazio, você pode ir com apenas *
.
find targetDir/* -name 'target*'