0

私は UNIX/Shell Scripting の初心者で、多数のサーバーからディスクの使用状況を抽出しようとしています。だから私がやろうとしているのは、 df -g > diskusage.txt を実行して次のテーブルを取得し、以下から ** データを抽出するシェルスクリプトを作成することです

   Filesystem        Size      Used    Avail    Use%        Mounted on
  /dev/ibm_lv       84.00     56.81     33%     637452     5% /usr/IBM
  /dev/apps_lv      10.00      9.95    **1%**     5        1% /usr/apps
  /dev/upi_lv      110.00     85.85   **22%**   90654      1% /usr/app/usr
  user08:/backup   2000.00   1611.22    20%    177387      1% /backup

サーバーによっては、より多くのファイル システムがありますが、ファイル システムの数に関係なく、/usr/apps/usr,/usr/apps のディスク使用量のみが必要です。(/usr/apps/usr,/usr/apps は常に最後の 3 行に配置されます)

最後の 3 行を読む -> 最後の行を無視する -> 各行で % を検索するよりも簡単な方法があると確信しています。

これらのデータを抽出するより良い方法がある場合は、お知らせください。

4

1 に答える 1

0
df -g | awk '/\/usr\/app/ {print $4}'

これにより、使用可能なパーセンテージが取得されますが、どれがどれと一致するかはわかりません。出力にはいつでもマウントポイントを含めることができますが、数値を取得するために次のような解析を行う必要があります。

    while read avail mount; do 
       echo "$mount has $avail available"
    done < <(df -g | awk '/\/usr\/app/ {print $4, $NF}')
于 2012-09-25T20:04:07.287 に答える