开发者

Average and maximum size of directories

开发者 https://www.devze.com 2022-12-22 08:02 出处:网络
I have a directory and a bunch of sub-directories like this: - directory1 (sub-dir1, sub-dir开发者_开发技巧2, sub-dir3, sub-dir4, sub-dir5...........and so on, hundreds of them...)

I have a directory and a bunch of sub-directories like this: - directory1 (sub-dir1, sub-dir开发者_开发技巧2, sub-dir3, sub-dir4, sub-dir5...........and so on, hundreds of them...)

How do I find out what is average size of the sub-directories? And how do I find what is the maximum size of the sub-directories?

All using Unix commands...

Thanks.


If you only have directories and not files in directory1, then the following two "commands" should give you the size (in bytes) and name of the largest directory and the average of their sizes (in bytes), respectively.

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

If there is also ordinary files within directory1, these will be counted as well with the examples above. If ordinary files should not be counted, the following might be more appropriate.

$ 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 } '


I once had an issue with ext3, which only allows 31998 sub directories per directory. Ext4 allows ~64k.


to get the largest size (KB), use -b for bytes

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

to get average size (KB)

du -sk */|awk '{s+=$1}END{print s/NR}'
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号