Answers:
您可以awk
像这样定义函数 :
awk -F'[-,]' '
function abs(v) {return v < 0 ? -v : v}
{print abs(360*($4-$1)+30*($5-$2)+($6-$3))}'
这种情况的常见技巧是使用平方的平方根:
awk -F'[-,]' '{print sqrt((360*($4-$1)+30*($5-$2)+($6-$3))^2)}'
sqrt(x^2)
。
sqrt(x^2)
很好,但是sqrt(x)^2
会引入微小的错误,可能会导致意外情况。对于busyboxawk
,需要在启用数学支持的情况下进行构建(例如,不是Debian软件包中的默认设置)。