使用find命令查找子目录

时间:2011-11-28 13:36:50

标签: linux find

在我的linux机器上,我有一个这样的目录树:

rootDir
|--123456789
|    |-- test
|    |-- live
|
|--234456789
|    |-- live
|
|--454354334
     |-- test

我需要找到所有包含两个目录(“test”和“live”)的顶级目录,然后删除“test”一个。如果可能的话,我想用单行命令来完成这个。

1 个答案:

答案 0 :(得分:3)

find <directory_name> -type d -exec sh -c "cd {} && [ -d live ] && [ -d test ] && echo \"Deleting test from {}\" && rm -rvi test " {} \;

echo是可选的。已将vi个选项添加到rm以使其更详细&amp;互动
当你说删除测试时我只假设测试目录 但是如果要删除包含两者的父目录,请尝试

find <directory_name> -type d -exec sh -c "cd {} && [ -d live ] && [ -d test ] && cd ../ && echo \"Deleting {}\" && rm -rvi {} " {} \;

希望这有帮助!