awk内置算术函数

下表列出了awk的内置算术函数,表中的x和y是任意表达式。
算术函数

函数名 返回值
atan2(x,y) 值域内y/x的反正切
cos(x) x的余弦,x为弧度
exp(x) x的e指数函数
int(x) x的整数部分,当x>0时,向下取整
log(x) x的自然对数(底数为e)
rand() 随机数r(0<r<1)< td="">
sin(x) x的正弦,x为弧度
sqrt(x) x的平方根
srand(x) x是rand()的新种子


整数函数
int函数将舍去小数点后的所有数字,生成一个整数。int函数不执行舍入操作。
范例

$ awk  'END{print 31/3}' filename
10.3333
$ awk  'END{print int(31/3)}' filename
10

说明:
1.END块将除法运算的结果打印成浮点数形式。
2.END块中的int函数把除法运算的结果从小数点开始舍去,显示的结果是一个整数。


随机数发生器
rand函数
 rand函数生成一个大于或等于0、小于1的伪随机浮点数。
范例

$ awk  '{print rand()}' filename
0.513871
0.175726
0.308634

$ awk  '{print rand()}' filename
0.513871
0.175726
0.308634

说明:
每次运行程序都打印出同一组数字。可以用srand函数为rand函数的种子设一个新值,否则,如上例所示,每次调用rand都只会重复出现同一数列。

srand函数 如果未指定参数,srand函数会根据当前时刻为rand函数生成一个种子。srand(x)则把x设成种子。通常,程序应该在运行过程中不断地改变x的值。
范例

$ awk  'BEGIN{srand()}{print rand()}' filename
0.508744
0.639485
0.657277
$ awk  'BEGIN{srand()}{print rand()}' filename
0.133518
0.324747
0.691794

说明:srand函数为rand设置了一个新种子,起点是当前时刻。因此,每次调用rand都打印出一组新的数列。
范例

$ awk  'BEGIN{srand()}{print 1+int(rand()*25)}'
6
24
14

说明:srand函数为rand设置了一个新种子,起点是当前时刻。rand函数在0-25之间逃出一个随机数,然后将其化为整数。

参考资料:http://www.linuxawk.com/jiaocheng/304.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值