我是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)"%"}}'
答案 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