find . -type d | while read dir ; do num=`ls -l $dir | grep '^-' | wc -l` ; echo "$num $dir" ; done | sort -rnk1 | head
Эта команда выполняет следующие действия:
1. find . -type d: Находит все подкаталоги (директории) начиная с текущего рабочего каталога.
2. while read dir: Читает каждый найденный подкаталог по очереди.
3. num=ls -l $dir | grep '^-' | wc -l: Подсчитывает количество файлов в текущем подкаталоге.
4. echo "$num $dir": Выводит количество файлов и путь к подкаталогу.
5. done: Завершает цикл.
6. sort -rnk1: Сортирует результаты в обратном порядке (по убыванию) на основе количества файлов.
7. head: Выводит первые 10 строк, что соответствует 10 подкаталогам с наибольшим количеством файлов.
Альтернативы: Можно использовать команду du для подсчета размера каждого подкаталога, а затем сортировать их по размеру, чтобы найти каталоги с наибольшим объемом данных.
