普通にやってしまうと単位を考慮したソートがなされない
$ du -hS /* | sort -nr | head -5 1020K /aaa 1020K /bbb 1020K /ccc 1016K /ddd 1012K /eee
-hオプションで単位をつけなかった場合と結果が違う
$ du -S /* | sort -nr | head -5 36643580 /vvv 4846020 /www 4198408 /xxx 3348584 /yyy 664132 /zzzそこで、シェルスクリプトでごにょごにょしてみた
$ du -S /* | sort -nr | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e "${size}${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done | head -5 34G /vvv 4G /www 4G /xxx 3G /yyy 648M /zzzめでたし、めでたしヾ(*・ω・)シ
0 件のコメント:
コメントを投稿