awk有几个内置函数比如:数字,字符串,输入和输出操作。我们在这里讨论其中的一些。
int()函数给你参数的整数部分。这将产生n的最低整数部分。n是任意数或者浮点数。如果你给一个整数作为参数,该函数返回相同的数字;浮点数,它会截断。
$ awk 'BEGIN{print int(3.534); print int(4); print int(-5.223); print int(-5);}'
上面的命令产生下面的输出:
3
4
-5
-5
log(n)函数提供给定参数n的自然对数。数字n必须是正数,或抛出错误。
$ awk 'BEGIN{print log(12);print log(0);print log(1);print log(-1)}'
2.48491
-inf
0
awk: warning: log: received negative argument -1
nan
在上面的输出里面,你可以找出 log(0) 是无穷大的,它显示 -inf, log(-1) 给你一个错误nan (Not a Number).
注意: log(-1)你可能还可以得到以下警告信息: awk: cmd. line:4: warning: log: received negative argument -1
sqrt函数为给定的整数n给出正平方根。这个函数也需要一个正数,如果你给了负数作为参数,它会返回nan错误。
$ awk 'BEGIN{print sqrt(16);print sqrt(0);print sqrt(-12);}'
4
0
awk: warning: sqrt: called with negative argument -12
-nan
exp(n)函数返回n的幂。
$ awk 'BEGIN{print exp(123434346); print exp(0); print exp(-12);}'
awk: warning: exp: argument 1.23434e+08 is out of range
inf
1
6.14421e-06
在上面的输出里,exp(123434346),它给你输出无穷大,因为这是超出范围的。
sin(n)函数给出n的正弦值,其中n是弧度。
$ awk 'BEGIN{print sin(90); print sin(45);}'
0.893997
0.850904
cos(n)函数返回n的余弦值,其中n是弧度。
$ awk 'BEGIN{print cos(90); print cos(45);}'
-0.448074
0.525322
这个函数为你提供了弧度里m/n的反正切。
$ awk 'BEGIN{print atan2(30,45)}'
0.588003