我有一个目录和一堆像这样的子目录: - directory1 ( sub-dir1 , sub-dir2 , sub-dir3 , sub-dir4 < / em>, sub-dir5 ...........等等,其中有数百个......)
如何找出子目录的平均大小? 我如何找到子目录的最大大小?
全部使用Unix命令......
感谢。
答案 0 :(得分:4)
如果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 } '
答案 1 :(得分:0)
我曾经遇到过ext3的问题,每个目录只允许31998个子目录。 Ext4允许~64k。
答案 2 :(得分:0)
获取最大大小(KB),使用-b作为字节
du -sk */|sort -n|tail -1
获得平均大小(KB)
du -sk */|awk '{s+=$1}END{print s/NR}'