Alternativa para -maxdepth 1 -mindepth 1 in find

0

Eu sempre me encontro usando find para pesquisar apenas os filhos da primeira geração de um diretório, especialmente em scripts para substituir * . Existe uma maneira mais conveniente de fazer isso do que especificar -maxdepth 1 -mindepth 1 ?

Existe outra ferramenta que eu deveria usar?

    
por Commodore64 18.07.2018 / 12:11

1 resposta

1

Se você estiver usando um shell como bash , pode definir a opção dotglob shell para que o caractere curinga de asterisco * corresponda a TODOS os arquivos, em vez de apenas aqueles que não iniciam com um ponto . personagem.

Para qualquer diretório dado, esses três exemplos devem retornar o mesmo conjunto de arquivos

exemplo 1
find . -mindepth 1 -maxdepth 1 -printf '%f\n'
exemplo 2
dg=$(shopt -q dotglob)
shopt -s dotglob
echo *
[[ $dg -eq 1 ]] && shopt -u dotglob
exemplo 3
( shopt -s dotglob; echo * )
    
por 18.07.2018 / 12:24

Tags