1
2
|
du -s /usr/ports/* 2>/dev/null | sort -r -n | head -10 | awk '{print $2}' | xargs du -sh 2>/dev/null | cat -n
|
ざっくりとした解説
- du -s して各ディレクトリの容量の集計を取得
- sort -r -n でひっくり返す
- -n オプションは、フィールドを数値扱いでソートするオプション
>
-n, --numeric-sort
compare according to string numerical value
- awk でディレクトリ名だけを抽出して
- head -10 でトップ10を抽出
- xargsして
- 再度 du -s する。今度は -h を付けて見やすく。
- ついでに cat -n で行番号を付ける。
- ※du に 2>/dev/nullが付いているのは、権限不足でディレクトリが参照できない時のエラーメッセージをあえて無視するため。
出力結果はこんな感じ
```
1 60M /usr/ports/devel
2 52M /usr/ports/www
3 26M /usr/ports/games
4 24M /usr/ports/INDEX-8
5 20M /usr/ports/net
6 20M /usr/ports/graphics
7 19M /usr/ports/textproc
8 19M /usr/ports/security
9 16M /usr/ports/sysutils
10 15M /usr/ports/lang
```
NOTE:帰ってきたら続きで、コマンドプロンプトのばあいを書く