添加不同行中的值

添加不同行中的值

我有这张表:

在此输入图像描述

我的脚本是:

#!/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

问题:我需要做什么才能得到输出: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
}'

它未经测试,因为您没有提供我们可以测试的输入,也没有提供确切的预期输出,但如果不完全正确,它也会很接近。

相关内容