在几个子目录中进行清理

在几个子目录中进行清理

我想用 清理几个 (>20) 个子目录make clean。我想到这样的事情:

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

但它不起作用。你能帮助我吗?

答案1

由于您似乎只想进入直接子目录,因此您可以find完全避免,只需make clean在子 shell 中运行每个子目录即可,例如

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

如果愿意,您可以添加一个 Makefile 存在性的测试,但make如果找不到(或者没有clean目标),则会正常失败。

相关内容