如何run-*.achilles
在 Linux 下删除所有子目录中的所有目录?
我试过了find /path -name run-*.achilles -type f -delete
,但是没有用。
答案1
这里有几个问题:
- 您应该引用
*
以防止 shell 全局化。 -type f
告诉find
您想要文件。find -delete
不会删除非空目录。请参阅此问题.根据其中一个答案调整解决方案:find /path -path '*/run-*.achilles/*' -delete find /path -type d -name 'run-*.achilles' -empty -delete
这并不完美,第一行会匹配.../run-a/b.achilles/...
。我认为。此命令应该匹配得更好:
find /path -type d -name 'run-*.achilles' -exec rm -rf {} +
它使用rm -rf
,所以要小心使用。