Answers:
导航到驱动器并执行
ls -lR | grep ^d | wc -l
grep -c过wc -l。也许只是我。
\nd(其中\nNL字符),则以上内容将计数过多。
ls不应将输出通过管道传输。此外,这将慢得多,因为它必须输出整个树,然后通过它运行grep
总共查找所有文件夹,包括子目录吗?
find /mount/point -type d | wc -l
...或找到根目录中的所有文件夹(不包括子目录)?
find /mount/point -maxdepth 1 -type d | wc -l
*foo*斜体:foo)
find /path -not -iname '*.mp3' | wc -l用来过滤MP3或同时使用MP3和WAVfind /path -not -iname '*.mp3' -not -iname '*.wav' | wc -l
新行是目录名称中的有效字符。我建议让find每个找到的目录打印一个空行,然后wc对这些行进行计数。
find /mount/point -type d -printf '\n' | wc -l
尝试以下操作[参见下文]:
ls -1 -p | grep "/" | wc -l
这将打印当前目录的一列列表,并在子目录项的末尾加上斜杠,然后用斜杠计算行数。
编辑:您可能应该接受庸医吉基德的回答,因为它更为明确,但是我已经纠正了我的问题(在考虑了庸医的建议之后)。
ls -Rp | grep "/$" | wc -l
-1因为ls会检测管道并且不会格式化列。也可以使用来获取递归列表-R,但是您可能希望grep "/$"只匹配尾部斜杠(否则计数将关闭)。最终版本:ls -Rp | grep "/$" | wc -l
.(即/mount/point)计数,而我上面的评论中的ls版本将不计在内。这些计数相差1,因此您可以/mount/point/*在find命令中使用它来更正(假设没有隐藏的点目录)。
查找当前目录中的文件夹和目录数
在终端中输入以下命令
echo */ | wc