Use apenas -a
para as condições 'AND':
find . -type d -exec test -f {}/Makefile \; -a -exec bash -c 'compgen -G '{}'/*.tex >/dev/null;exit $?' \; -print
Em câmera lenta:
-
-exec test -f {}/Makefile \;
verifica seMakefile
existe no diretório -
-exec bash -c 'compgen -G '{}'/*.tex >/dev/null;exit $?'
verifica se existem arquivos*.tex
no diretório - a linha inteira testa a verdade apenas se ambos os testes forem verdadeiros
- nesse caso, imprima o nome do diretório
Ran:
./no1
./no1/yes3
./no1/yes3/foo.tex
./no1/yes3/Makefile
./no1/no3
./no1/no
./no1/Makefile
./q
./no2
./no2/foo.tex
./yes1
./yes1/foo.tex
./yes1/Makefile
./yes2
./yes2/foo.tex
./yes2/Makefile
Dá:
./no1/yes3
./yes1
./yes2