喜多です。
zan10882> Disk quotas for group hogehoge (gid 501):
zan10882> Filesystem blocks quota limit grace files quota limit grace
zan10882> /dev/hda1010175088 3000000030000000 1682 0 0
zan10882>
zan10882> となり、パーティション名からブロックサイズ、
zan10882> ソフトリミットからハードリミットまでが、それぞれくっついて
zan10882> 表示されてしまいました。
zan10882>
zan10882> awkで現在の使用量とリミットを適切に処理したいので、
zan10882> 各数値の間にスペースを入れて出力したいのですが、
zan10882> どうすれば良いのでしょうか。
zan10882>
zan10882> /dev/hda10 10175088 30000000 30000000
zan10882>
zan10882> こんな風になってほしいのです。
zan10882> 数字が8桁になるまではスペースが入るのですが・・・
本来,quota のソースをいじるべきなのでしょうが,
awk スクリプト側での work around としては,
もし,数字がくっつくときは必ず8桁であるなら,
{
for(k=1; k<=NF; k++){
len= length($k);
if (len>10){ $k= substr($k,1,len-8) " " substr($k,len-7); }
}
print $1, $2, $3, $4;
}
のように空白を挿入してやればいいです。
# awk は, $0, $1, $2, ... が変更されるとスプリットし直すので。
上記スクリプトに
Filesystem blocks quota limit grace files quota limit
grace
/dev/hda1010175088 3000000030000000 1682 0 0
/dev/hda10 10175088 30000000 30000000
のようなデータを読み込ませると
Filesystem blocks quota limit
/dev/hda10 10175088 30000000 30000000 1682 0
/dev/hda10 10175088 30000000 30000000
と出力されます。
----------
〒860-8555(専用番号) 熊本大学 総合情報基盤センター 喜多敏博
t-kita@xxxxxxxxxxxxxxxxxxx
Web page : http://www.eecs.kumamoto-u.ac.jp/~t-kita/
or http://www.t-kita.net/