Mar*_*819 4 linux directory bash directory-structure subdirectory
我想计算深度2中子目录的数量,但是忽略bash脚本中深度1的父目录。
例:
root_dir ---|--ignore_dir ---|--count_dir
| |--count_dir ---|--ignore_dir
| |--ignore_dir
|--ignore_dir ---|--count_dir
|--count_dir
|--count_dir
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以尝试这样的事情:
find /path/to/root_dir -maxdepth 2 -mindepth 2 -type d | wc -l
Run Code Online (Sandbox Code Playgroud)
在这里,我们明确地将深度限制find为2(不多不少),并列出所有目录。wc -l计算find命令输出中的行数。
注意:
如果您的文件夹名称包含换行符,特定字符或不正常的编码,则使用wc -l会产生不正确的结果。
从这个问题中得到启发,您可以为找到的每个文件夹打印一个字符,并计算得到的字符数。
您可以使用以下代码段:
find /path/to/root_dir -maxdepth 2 -mindepth 2 -type d -printf '.' | wc -c
Run Code Online (Sandbox Code Playgroud)