別の行の値を追加

別の行の値を追加

私はこのテーブルを持っています:

ここに画像の説明を入力してください。

私のスクリプトは次のとおりです

#!/usr/bin/bash
sd2=`iostat -xz | awk '/sd2/ {print $8}'`

sd3=`iostat -xz | awk '/sd3/ {print $8}'`

delta=$sd2-$sd3

echo "Message: Hard Drive Service Time Delta"

echo "Data:"

printf $delta

スクリプトの出力は次のとおりです。0.4-0.4

Q:出力を取得するにはどうすればよいですか? 0

ティア!

答え1

この試み、

delta=$(bc <<< "$sd2-$sd3")

または

delta=$(echo $sd2 $sd3 |awk '{print $1-$2}')

答え2

正しい方法は次のとおりです。

iostat -xz | awk '
{ svc_t[$1] = $8 }
END {
    delta = svc_t["sd2"] - svc_t["sd3"]
    print "Message: Hard Drive Service Time Delta"
    print "Data:"
    print delta
}'

テスト可能な入力や正確な予想出力を提供していないため、テストされていませんが、正確ではない場合でも近いです。

関連情報