AIXでは、「df」コマンドを使用してディスク消費情報を確認してください。

AIXでは、「df」コマンドを使用してディスク消費情報を確認してください。

多くのスペースを占めるファイルシステムを取得しようとしています。dfフラグ(Gigabyte View)を持つコマンドを使用してこの操作を実行しようとしていますが、-g予想される値を取得できません。

df -g | sed 's/%//g'| awk '+$5>=75 {print}' | head -10

次のコマンドを使用するとエラーが発生します。

df -g | sed 's/%//g'| awk '{print $5>=75}' | head -4

エラーメッセージ:

Syntax Error The source line is 1.
The error context is
               {print >>>  $5>= <<<
awk: 0602-502 The statement cannot be correctly parsed. The source line is 1.

以下は、AIXのdf -gコマンドの出力です。

/tmp>df -g | sed 's/%//g'| awk '$5 >= 75 { print }' | head -4
Filesystem    GB blocks      Free Used    Iused Iused Mounted on
/dev/hd4          10.50     10.05    5    16492     1 /
/dev/hd2          25.50     18.15   29    64361     2 /usr
/dev/hd9var        2.50      0.72   72     4521     3 /var

全体を見る:

Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4          10.50     10.05    5%    16492     1% /
/dev/hd2          25.50     18.15   29%    64357     2% /usr
/dev/hd9var        2.50      1.39   45%     4512     2% /var
/dev/hd3          21.50     20.24    6%     1495     1% /tmp

AIX 7.1 PowerPC_POWER8で試してみました。何が間違っているのかわかりません!

ベストアンサー1

tr2回使用しないで、awkawkを1回だけ使用してください。

df -g | awk '{ sub("%", "", $4); if ($4 >= 75) { print $4, $7 }}' | sort -n

これにより、フィールド4のパーセント記号が空の文字列に置き換えられます(削除)。残りの値が75以上の場合、フィールド4と7が印刷され、パイプでソートされます。

メモリベースの改善ステファンの答えの一つ:

df -g | awk '$4+0 >= 75 { print $4, $7 }' | sort -n

「+0」を追加すると、厳密な文字列ベースの比較ではなく、数値比較が強制されます。

タイトルを維持するには、条件を次のように変更してください。

df -g | awk 'NR < 2 || $4+0 >= 75 { print $4, $7 }' | sort -n

おすすめ記事