se recursivamente encontrar ext, então, senão no unix

0

Isso é o que eu normalmente uso. Mas eu preciso recursivamente encontrar uma extensão com, então, e mais. O problema com este é que ele não é recursivo.

if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
    :
else
    :
fi
    
por David Custer 05.12.2013 / 10:53

1 resposta

2

Use find em vez de ls. Se você tiver o GNU find, poderá usar -quit para sair após a primeira partida. Em seguida, basta verificar se ele retornou algum resultado.

O script seria parecido com

if [ -n "$(find $HOME/Downloads -name '*.ext' -print -quit | head -n 1)" ]
then
    :
else
    :
fi

Use -iname em vez de -name para fazer uma pesquisa sem distinção entre maiúsculas e minúsculas.

    
por 05.12.2013 / 11:10

Tags