Shell脚本可在多个目录中查找大于1gb的文件

时间:2019-07-19 08:00:09

标签: shell unix

我是UNIX和Shell脚本的初学者。任何帮助将是可观的。 我在下面的命令中写道,以查找大于1GB的文件系统的磁盘使用情况

addEventListener

现在,我需要一个shell脚本通过使用循环来查找此文件系统上大于1gb的所有文件 我尝试使用以下脚本,但出现一些错误

Command: df -h| sed "s/%//g"|awk 'NR>1 {print $0}'| awk '{if($(NF-1) >90) {print $NF" Alert:Disk out of space "$(NF-1)"%"}}' 

1 个答案:

答案 0 :(得分:0)

  

我尝试使用以下脚本,但出现一些错误

  • 要防止df用两行长文件系统名称包装输出,应使用选项-P POSIX输出格式)(如果支持)。
  • 您将临时输出写入disk_usage,但尝试从$disk_usage读取-为避免此类错误,只需使用管道即可。
  • read -r line包含路径和其他文本,但是无法提取您要cd的路径;更好的read path rest,在那里进行提取。
  • cd $path而不是cd path,或者用$path代替.find

这给出了:

df -hP | … | awk '{if ($(NF-1) > 90) {print $NF" Alert:Disk out of space "$(NF-1)"%"}}' |
while read path rest
do  echo $path $rest
    …
done