计算忽略父目录的子目录数

问题描述 投票:3回答:2

我想计算深度为2的子目录数,但忽略bash脚本中深度为1的父目录。

例:

root_dir ---|--ignore_dir ---|--count_dir
            |                |--count_dir ---|--ignore_dir
            |                                |--ignore_dir
            |--ignore_dir ---|--count_dir
                             |--count_dir
                             |--count_dir

有任何想法吗?

linux bash directory directory-structure subdirectory
2个回答
4
投票

你可以尝试这样的事情:

find /path/to/root_dir -maxdepth 2 -mindepth 2 -type d | wc -l

在这里,我们明确地将find的深度限制为2(不多也不少)并列出所有目录。 wc -l计算find命令输出的行数。


0
投票

另一种方法是通过globbing

ls /path/to/root_dir/*/*/ -d | wc -l

我发现这种类型的解决方案更容易记住,但它并不像find-one那样容易“扩展”(例如,达到许多deapth级别)

© www.soinside.com 2019 - 2024. All rights reserved.