if find -not -name '_*' -exec false {} +
then
echo 'all files marked'
else
echo 'unmarked file found'
fi
No bash, tenho um diretório que contém alguns nomes de arquivos que começam com underscore _
e outros que não.
Eu quero que meu script verifique se uma pasta possui arquivos que não iniciam com _
. Eu escrevo
if [[ -f $dir/[!_]* ]]
then echo "There are unmarked files."
else echo "All files marked."
fi
Mas quando executo usando uma pasta com arquivos que não iniciam com _
, a instrução if
tem o efeito oposto do que eu pretendia. Eu listo as entradas na pasta que mostram claramente os arquivos sem _
, mas a saída continua dizendo All files marked.
O que estou perdendo?
if find -not -name '_*' -exec false {} +
then
echo 'all files marked'
else
echo 'unmarked file found'
fi