Average and maximum size of directories

2019-02-25 02:29发布

I have a directory and a bunch of sub-directories like this: - directory1 (sub-dir1, sub-dir2, 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.

3条回答
手持菜刀,她持情操
2楼-- · 2019-02-25 03:00

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 } '
查看更多
我命由我不由天
3楼-- · 2019-02-25 03:00

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

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2019-02-25 03:01

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}'
查看更多
登录 后发表回答