si busca recursivamente ext, entonces, de lo contrario en Unix

si busca recursivamente ext, entonces, de lo contrario en Unix

Esto es lo que uso normalmente. Pero necesito encontrar recursivamente una extensión con, entonces y más. El problema con éste es que no es recursivo.

if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
    :
else
    :
fi

Respuesta1

Úselo finden lugar de ls. Si tienes GNU find, puedes usarlo -quitpara salir después del primer partido. Luego simplemente verifique si arrojó algún resultado.

El guión se vería así

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

Utilice -iname en lugar de -name para realizar una búsqueda que no distinga entre mayúsculas y minúsculas.

información relacionada