如何在找到目录后列出子目录的内容

时间:2015-06-19 15:08:58

标签: linux bash terminal

这是一个相当具体的问题,但基本上我想知道的是,无论如何都要列出我搜索的目录下面的目录内容。

我的情况是我有一个包含大量子目录的父目录,我想搜索它们以查看它们是否包含某个字符串的目录。由于它太大了我确保将我的深度限制为两个以避免不必要的搜索。第一个命令是这样的:

find . -maxdepth 2 -type d -name "MWACluster15"

这通常会返回30场比赛的顺序。我想要做的是列出一个名为logs的子目录的内容。我想也许会做像

这样的事情

find . -maxdepth 2 -type d -name "MWACluster15" | xargs ls logs/

可能会做的伎俩,但它只返回目录的直接内容。我想要的是列出MWACluster15/logs/

的内容

任何人都知道这是否可行,而无需编写bash脚本?

1 个答案:

答案 0 :(得分:3)

我想你可以使用这样的东西:

find . -maxdepth 2 -type d -name "MWACluster15" -execdir ls {}/logs/ \;

-execdir从找到您感兴趣的目录的目录中执行命令。 {}是一个占位符,用目录名“MWACluster15”代替。