Unix - 百分比计算结果,结果应为abs

时间:2015-10-08 20:06:05

标签: bash shell scripting


 在unix bash脚本中,我试图计算两个数字之间的百分比差异:

$ Value1 = 3947
$ Value2 = 5853
$ echo" $ Value1" " $值2" | awk' {print($ 1- $ 2)/ $ 1 * 100}'
-48.2898

上面的命令对我来说非常好,但我希望结果是abs(+ ve数),有人可以帮我实现这个目标。

谢谢,

1 个答案:

答案 0 :(得分:0)

可悲的是,awk内置了一个abs()函数。实施它:

function abs(x) {
    return (x<0 ? -x : x)
}

测试

$ awk -v a=42 -v b=-3.14 '
      function abs(x) {
          return (x<0 ? -x : x)
      }
      BEGIN {
          print abs(a)
          print abs(b)
      }'
42
3.14