提问人:user16454406 提问时间:11/13/2023 更新时间:11/13/2023 访问量:14
仅删除 MaxDepth 2 及更高版本的子目录
delete subdirectories only at maxdepth 2 and above
问:
我有 6 个子目录的目录,但我希望仅从其中 3 个子目录中删除子目录,因此我在这 3 个目录中使用了 for 循环来“cd”,但我想删除深度为 2(maxdepth,mindepth 为 2)的子目录在 3 个子目录中。我在 base(base 是 3 个子目录之一)中使用了 find 命令,但它会从深度 1 找到目录(这是预期的)
我的文件结构是(a 是我正在迭代的 3 个目录之一)/a/b/c/d/e
他代码的一部分在下面,我需要帮助/指导 -find /a -mindepth 2 -maxdepth 2 -type d -mtime +30
这将输出 -./b/c
所以我不希望删除目录而只删除目录和下面/内部的深度/b
c
有没有办法做到这一点,否则我将不得不 cd 到目录?b
答:
0赞
Saikat Raj
11/13/2023
#1
find /a /b /c -mindepth 2 -maxdepth 2 -type d -mtime +30 -exec rm -r {} \;
评论
0赞
Jeremy Caney
11/14/2023
请记住,Stack Overflow 不仅旨在解决眼前的问题,还旨在帮助未来的读者找到类似问题的解决方案,这需要了解底层代码。这对于我们社区中不熟悉语法的初学者来说尤其重要。鉴于此,您能否编辑您的答案以包括对您正在做的事情的解释以及您为什么认为这是最好的方法?
评论