2007年10月8日月曜日

今日の1行シェル

システムで利用可能なファイルシステムの容量の統計を求める

Linuxの場合
# df -t ext3 | awk 'BEGIN {fs=0;used=0;free=0} NR>1 {fs+=$2;used+=$3;free+=$4} END {printf "Total:%dGB, Used: %dGB, Free: %dGB\n", fs/(1024*1024),used/(1024*1024),free/(1024*1024)}'
結果
Total:497GB, Used: 308GB, Free: 164GB


FreeBSDの場合
# df -t ufs | awk 'BEGIN {fs=0;used=0;free=0} NR>1 {fs+=$2;used+=$3;free+=$4} END {printf "Total:%dGB, Used: %dGB, Free: %dGB\n", fs/(1024*1024),used/(1024*1024),free/(1024*1024)}'
結果
Total:18GB, Used: 1GB, Free: 16GB

Solaris10の場合
# df -k -F ufs | awk 'BEGIN {fs=0;used=0,free=0} NR>1 {fs+=$2,used+=$3;free+=$4} END {printf "Total:%dGB, Used:%dGB, Free: %dGB\n", fs/(1024*1024),used/(1024*1024),free/(1024*1024)}'
結果
Total:29GB, Used:4GB, Free: 23GB

どれも1行で。BEGIN行は本当は不要ですが...。

0 件のコメント:

コメントを投稿