На этот вопрос уже есть ответ здесь:
$ ls -l JSON_files/*.json | wc -l
bash: /usr/bin/ls: Argument list too long
0
Как я могу получить количество файлов в папке, если у меня 300k или 1M или более файлов JSON в каталоге?
Самый простой путь, избегают подстановочного расширения командной строки, затем фильтруют для имен, которые Вы хотите от (некомандная строка) вывод:
ls -l JSON_files/ | fgrep .json | wc
ls -f *.json | wc -l
"По умолчанию ls сортирует имена, которые могут требовать времени, если существуют многие из них. Также не будет никакого вывода, пока все имена не будут считаны и отсортированы. Используйте ls-f опция выключить сортировку".
Исходная команда:
ls -f | wc -l
отвеченный 15 сентября '09 в 13:55, mark4o
Источник: Быстрый Счет Файла Linux для большого количества файлов https://stackoverflow.com/questions/1427032/fast-linux-file-count-for-a-large-number-of-files
find . -name "*.json" | wc -l