AWK - 算术函数
AWK 具有以下内置算术函数 −
atan2(y, x)
它以弧度返回 (y/x) 的反正切。 以下示例演示了这一点 −
示例
[jerry]$ awk 'BEGIN { PI = 3.14159265 x = -10 y = 10 result = atan2 (y,x) * 180 / PI; printf "The arc tangent for (x=%f, y=%f) is %f degrees\n", x, y, result }'
在执行此代码时,您会得到以下结果 −
输出
The arc tangent for (x=-10.000000, y=10.000000) is 135.000000 degrees
cos(expr)
该函数返回 expr 的余弦值,以弧度表示。 以下示例演示了这一点 −
示例
[jerry]$ awk 'BEGIN { PI = 3.14159265 param = 60 result = cos(param * PI / 180.0); printf "The cosine of %f degrees is %f.\n", param, result }'
在执行此代码时,您会得到以下结果 −
输出
The cosine of 60.000000 degrees is 0.500000.
exp(expr)
此函数用于查找变量的指数值.
示例
[jerry]$ awk 'BEGIN { param = 5 result = exp(param); printf "The exponential value of %f is %f.\n", param, result }'
在执行此代码时,您会得到以下结果 −
输出
The exponential value of 5.000000 is 148.413159.
int(expr)
此函数将 expr 截断为整数值。 以下示例演示了这一点 −
[jerry]$ awk 'BEGIN { param = 5.12345 result = int(param) print "Truncated value =", result }'
在执行此代码时,您会得到以下结果 −
Truncated value = 5
log(expr)
此函数计算变量的自然对数。
示例
[jerry]$ awk 'BEGIN { param = 5.5 result = log (param) printf "log(%f) = %f\n", param, result }'
在执行此代码时,您会得到以下结果 −
输出
log(5.500000) = 1.704748
rand
此函数返回一个介于 0 和 1 之间的随机数 N,例如 0 <= N < 1。 例如,以下示例生成三个随机数
示例
[jerry]$ awk 'BEGIN { print "Random num1 =" , rand() print "Random num2 =" , rand() print "Random num3 =" , rand() }'
在执行此代码时,您会得到以下结果 −
输出
Random num1 = 0.237788 Random num2 = 0.291066 Random num3 = 0.845814
sin(expr)
该函数返回 expr 的正弦值,以弧度表示。 以下示例演示了这一点 −
示例
[jerry]$ awk 'BEGIN { PI = 3.14159265 param = 30.0 result = sin(param * PI /180) printf "The sine of %f degrees is %f.\n", param, result }'
在执行此代码时,您会得到以下结果 −
输出
The sine of 30.000000 degrees is 0.500000.
sqrt(expr)
此函数返回 expr 的平方根。
示例
[jerry]$ awk 'BEGIN { param = 1024.0 result = sqrt(param) printf "sqrt(%f) = %f\n", param, result }'
在执行此代码时,您会得到以下结果 −
输出
sqrt(1024.000000) = 32.000000
srand([expr])
此函数使用种子值生成一个随机数。 它使用 expr 作为随机数生成器的新种子。 在没有 expr 的情况下,它使用一天中的时间作为种子值。
示例
[jerry]$ awk 'BEGIN { param = 10 printf "srand() = %d\n", srand() printf "srand(%d) = %d\n", param, srand(param) }'
在执行此代码时,您会得到以下结果 −
输出
srand() = 1 srand(10) = 1417959587