在我们的环境中,我们有一个 NFS 挂载,其中包含所有用户主目录。
我想找到主目录大小大于10G的用户并向他们发送通知。我试过:
du -sh * | sort -hr
这就像一个魅力,但我找不到提取大小> 10 G 的目录的命令。
我尝试过find . -size +10G -exec ls -lhS {} \;
,但没有成功。
查找/提取大小大于 10G 的目录的最佳方法是什么?
答案1
这应该可以做到。
其中第一列(大小)超过10gb,输出第二列(目录名称)
du -sk * | awk '$1 > 10485760 { print $2 }'
或者根据要求,以人类可读的形式显示,如下所示。正则表达式确保第 1 列以 G(千兆字节)结尾,并且 substr 部分从第 1 列中删除最后一个字母并查看它是否超过 10。
du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 10 { print $0 }'
例子:
du -sh *
2.5G steve
du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 1 { print $0 }'
2.5G steve
du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 3 { print $0 }'
(no output)