使用 find 删除递归子文件夹

使用 find 删除递归子文件夹

我需要在一行中删除递归子文件夹。

对于一个子文件夹:

find folder -name "subfolder" -exec rm -r "{}" \;

或者

find folder -name "subfolder" -type d -exec rm -r "{}" \;

但是如果一行中有多个子文件夹呢? (子文件夹 1、子文件夹 2 或 foo、bar、dummy...)

答案1

我会做什么:

find folder -name "subfolder[0-9]*" -exec rm -r {} \;

用一个

或者

find folder \( -name 'foo' -o -name 'bar' -o name 'base' \) -exec rm -r {} \;

答案2

问题的作者提供了以下解决方案,显然源自SO的答案

我找到了解决方案堆栈溢出

find folder \( -name 'foo*' -or -name 'bar' -or -name 'dummy*' \) -exec rm -r {} \;

相关内容