#!/bin/bash
check_directories="/var/log /home"
DATE=$(date '+%m%d%y')
exec > disk_space_$DATE.rpt
echo "top ten disk space usage"
echo "for $check_directories directorice "
for dir_check in $check_directories
do
echo " "
echo "the $dir_check directory:"
du -S $dir_check 2> /dev/null |
sort -rn|
sed '{11,$D;=}' |
sed 'N;s/\n/ /' |
gawk '{printf $1 ":" "\t" $2 "\t" $3 "\n"} '
done
命令详解: du -S 为每个目录及子目录显示一个统计
sort -rn 排序,-n按数字,-r列出最大数字
sed ‘{11,$D;=}’ 删除11行之后的数据,并打印行号
输出结果: