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*'