Средний и максимальный размер каталогов - PullRequest
3 голосов
/ 10 марта 2010

У меня есть каталог и несколько подкаталогов: - каталог1 ( дочерний каталог1 , вспомогательный каталог2 , вспомогательный каталог3 , вспомогательный каталог4 , sub-dir5 ........... и так далее, сотни из них ...)

Как узнать средний размер подкаталогов? И как мне найти максимальный размер подкаталогов?

Все с использованием команд Unix ...

Спасибо.

Ответы [ 3 ]

4 голосов
/ 10 марта 2010

Если у вас есть только каталоги, а не файлы в directory1, то следующие две «команды» должны дать вам размер (в байтах) и имя самого большого каталога и среднее их размеров (в байтах) соответственно .

$ du -sb directory1/* | sort -n | tail -n 1
$ du -sb directory1/* | awk ' { sum+=$1; ++n } END { print sum/n } '

Если в directory1 есть и обычные файлы, они также будут учитываться в приведенных выше примерах. Если обычные файлы не должны учитываться, более подходящим может быть следующее.

$ find directory1/ -mindepth 1 -maxdepth 1 -type d -exec du -sb {} \; | sort -n | tail -n 1
$ find directory1/ -mindepth 1 -maxdepth 1 -type d -exec du -sb {} \; | awk ' { sum+=$1; ++n } END { print sum/n } '
0 голосов
/ 11 марта 2010

, чтобы получить наибольший размер (КБ), используйте -b для байтов

du -sk */|sort -n|tail -1

, чтобы получить средний размер (КБ)

du -sk */|awk '{s+=$1}END{print s/NR}'
0 голосов
/ 10 марта 2010

У меня когда-то была проблема с ext3, которая допускает только 31998 подкаталогов на каталог. Ext4 позволяет ~ 64k.

...