当文件数量如此之多时,在终端中获取文件数量的最快方法是什么?

当文件数量如此之多时,在终端中获取文件数量的最快方法是什么?
$ ls -l JSON_files/*.json | wc -l
bash: /usr/bin/ls: Argument list too long
0

如果目录中有 300k 或 1M 或更多的 JSON 文件,我该如何获取文件夹中文件的数量?

答案1

最简单的方法是避免命令行通配符扩展,然后从(非命令行)输出中过滤所需的名称:

ls -l JSON_files/ | fgrep .json | wc

答案2

ls -f *.json | wc -l

“默认情况下,ls 会对名称进行排序,如果名称很多,则可能需要一段时间。此外,在读取并排序所有名称之前,不会有任何输出。使用 ls -f 选项可关闭排序。”

原始命令:

ls -f | wc -l

回答于 2009 年 9 月 15 日 13:55,mark4o

来源:针对大量文件的快速 Linux 文件计数 https://stackoverflow.com/questions/1427032/fast-linux-file-count-for-a-large-number-of-files

find . -name "*.json" | wc -l

相关内容