计算目录数

Zhy*_*ndr 1 directory find wc

我需要一个脚本或命令,在整个目录子树中打印一些名称以“lib”开头的目录。我试图使用 find、grep 和 wc 来执行此操作,但无法扫描所有目录。怎么做?

小智 5

find . -type d -name lib\* -exec echo x \; | wc -l
Run Code Online (Sandbox Code Playgroud)


Sté*_*las 5

LC_ALL=C find .//. -name 'lib*' -type d | grep -c //
Run Code Online (Sandbox Code Playgroud)

您不能使用find . | wc -l,因为如果存在带有换行符的文件路径,那将无法正常工作。

如果没有LC_ALL=C,可以不计,与启动目录的名称lib,但在名称的其他部分所包含的字节没有形成有效的字符。

zsh

(){echo $#} **/lib*(DN/)
Run Code Online (Sandbox Code Playgroud)