如何使用bash计算路径中的目录数?

时间:2011-01-30 09:21:15

标签: bash

我正在使用

DIRS=$(find . -type d)

以递归方式获取所有目录。现在我需要查看该列表并仅打印具有多个目录的路径。所以我需要搜索' /'路径中的字符,但我用来搜索它的方法都不起作用。

2 个答案:

答案 0 :(得分:2)

这对你有用吗?

DIRS=$(find . -type d -mindepth $n)

命令find .只是递归地列出当前目录中的所有文件和目录。使用-type d,我们将其限制为仅列出目录。使用-mindepth $n,我们要求每个目录的深度至少为$n(例如n=2设置,或者直接替换数字而不是$n)。有关详细信息,请参阅man find

$(...)构造运行给定的命令并由其输出替换;它大致相当于`...`。最后,此输出将分配给DIRS变量。

答案 1 :(得分:0)

干净的方法是做

  找到。 -type d -links +2

这将找到具有2个以上硬链接的所有目录。子目录将一个硬链接添加到其父目录,另外还有一个“。”硬链接。和'..'。