仅删除最大深度为2及以上的子目录

问题描述 投票:0回答:1

我有一个包含 6 个子目录的目录,但我只想删除其中 3 个子目录,因此我在这 3 个目录中使用了 for 循环来“cd”,但我想删除深度为 2 的子目录(最大深度、最小深度为 2) ) 在 3 个子目录中。我在 base 使用 find 命令(base 是 3 个子目录之一),但它会从深度 1 找到目录(这是预期的)

我的文件结构是

/a/b/c/d/e
(a 是我正在迭代的 3 个目录之一)

下面是我需要帮助/指导的代码的一部分 -

find /a -mindepth 2 -maxdepth 2 -type d -mtime +30

这将输出 -

./b/c

所以我希望删除目录

/b
并仅删除目录
c
和下面/内部深度

有没有办法做到这一点,或者我必须 cd 到

b
目录?

linux find
1个回答
0
投票
find /a /b /c -mindepth 2 -maxdepth 2 -type d -mtime +30 -exec rm -r {} \;
© www.soinside.com 2019 - 2024. All rights reserved.