
Quero limpar vários (>20) subdiretórios com make clean
. Pensei em algo assim:
find ./ -type d -maxdepth 1 | xargs "make clean"
mas não funciona. Você poderia por favor me ajudar?
Responder1
Como você parece querer apenas descer para os subdiretórios imediatos, você pode evitar find
completamente e apenas executar cada um make clean
em um subshell, por exemplo
for d in */; do (cd "$d" && make clean); done
Você pode adicionar um teste para a existência de um Makefile se desejar, mas make
falhará normalmente se não encontrar um (ou se não houver clean
alvo).