目录的平均和最大尺寸

我有一个目录和一堆子目录是这样的: – directory1sub-dir1sub-dir2sub-dir3sub-dir4sub-dir5 ………..等等,数百个……)

如何找出什么是平均大小的子目录? 我怎样才能find子目录的最大尺寸?

所有使用Unix命令…

谢谢。

如果在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 } ' 

我曾经有一个ext3的问题,它只允许每个目录31998个子目录。 Ext4允许〜64k。

要获得最大的大小(KB),请使用-b作为字节

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

得到平均大小(KB)

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