Очистить в нескольких подкаталогах

Я хочу очистить несколько (>20) подкаталогов с помощью make clean, Я думал о чем-то вроде этого:

find ./ -type d -maxdepth 1 | xargs "make clean"

но это не работает Не могли бы вы мне помочь?

1 ответ

Решение

Поскольку вы, похоже, хотите спускаться только в непосредственные подкаталоги, вы можете избежать find в целом и просто запустить каждый make clean например, в скорлупе

for d in */; do (cd "$d" && make clean); done

Вы можете добавить тест на наличие Makefile, если хотите, но make изящно потерпит неудачу, если он не найдет (или если нет clean мишень).

Другие вопросы по тегам