Я хочу узнать общее количество файлов в папке и всех ее подпапках.
command-line
find
с обнаженной грудью
источник
источник
find . -type f -ls | wc -l
find . -type f -print0 | tr -d -c '\0' | wc -c
find . -type f -printf . | wc -c
- Я принимаю печать для моего решения вместо моего -exec echo.Используйте
tree
команду. Возможно, вам придется установитьtree
пакет.В нем будут перечислены все файлы и папки в данной папке, а в конце приведена сводная информация.
источник
Для подсчета файлов (даже файлов без расширения) в корне текущего каталога используйте:
Для рекурсивного подсчета файлов (даже файлов без расширения) из корня текущего каталога используйте:
источник
Самый быстрый и простой способ, это использовать
tree
. Его скорость ограничена вашим выходным терминалом, поэтому, если вы передадите результатtail -1
, вы получите немедленный результат. Вы также можете контролировать, на каком уровне каталога вам нравятся результаты, используя-L
опцию. Для цветного вывода используйте-C
. Например:Если его там еще нет, вы можете получить его здесь .
источник
Не считайте выходные строки поиска, потому что имена файлов, содержащие 99 новых строк, будут считаться как 100 файлов.
источник
Используйте эту команду для каждой папки в пути
источник
Похоже, что поиск быстрее, чем в дереве, поэтому я использовал ниже для подсчета файлов в каждом каталоге текущего рабочего каталога (игнорируя файлы в CWD) с разрешением каталогам иметь пробелы:
ls -d */ | while read dir_line do echo -n "$dir_line :" find "$dir_line" -type f | wc -l done
источник
ls
- очень плохая идея.Вы можете использовать
find . | wc -l
find .
отобразит список всех файлов и папок и их содержимое, начиная с текущей папки.wc -l
считает результаты поискаисточник
Я бы пошел с этим вариантом сам:
источник