ホームディレクトリ容量の多いユーザーを調べる

/etc/passwdからユーザー名、UID、ホームディレクトリを切り出し変数にセット。
UIDが500以上かつホームディレクトリがあった場合、duで容量で調べる。
その後ソート、整形、表示する。

#!/usr/bin/sh
declare -a username userid userhome
username=( $(cut -d":" -f1 /etc/passwd | sed 's/^$/none/') )
userid=($(cut -d":" -f3 /etc/passwd | sed 's/^$/none/'))
userhome=($(cut -d":" -f6 /etc/passwd | sed 's/^$/none/'))
for (( i=0; i < ${#username[*]}; i++ )); do
    if [ ${userid[$i]} -ge 500 -a -d ${userhome[$i]} ]; then
        size_k=$(du -s ${userhome[$i]} | cut -f1)
        size_m=$(du -s ${userhome[$i]} | cut -f1)
        echo "$size_k:${username[$i]}:$size_m:${userhome[$i]}" \
            >> $$sizelist
   fi
done
#exec >> $$results
echo -e "Date'\t' $(date)"
echo -d "HostName'\t' $(hostname)"
echo
sort -t : -k1 -nr $$sizelist | head -n 10 | cut -d":" -f2,3,4 \
    | tr  ':' '\t' | cat -n
# cat /$$results | mail -s "top10" root
rm $$*