Как найти каталог / подкаталог с наибольшим количеством файлов

Я пытаюсь найти каталог с наибольшим количеством файлов внутри него. Я знаю, что могу найти количество файлов, используя:

find -maxdepth 5 -type f | wc -l 

но это полезно только тогда, когда я знаю, какой каталог проверить. Я хочу найти этот каталог, содержащий наибольшее количество файлов.

1 ответ

Вы можете создать список с именами каталогов и количеством файлов, которые они содержат, используя следующие вложенные find команда:

find -maxdepth 5 -type d \
  -exec bash -c 'n=$(find {} -maxdepth 1 -type f -printf x | wc -c); echo "{} $n"' \

Если вы передадите это:

find ... | sort -k2n | tail -n1

вы получите каталог, который содержит большинство файлов.

Другие вопросы по тегам