awk -凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977325
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2008-10-16 17:44:19

测试环境:
[gan@localhost tmp]$ uname -a
linux localhost.localdomain 2.6.25.4-10.fc8 #1 smp thu may 22 23:34:09 edt 2008 i686 i686 i386 gnu/linux
[gan@localhost tmp]$ awk -w version
gnu awk 3.1.5
......
http://gan.cublog.cn
1>. 普通运算
[gan@localhost tmp]$ awk 'begin { print 13 3 }' #加
16
[gan@localhost tmp]$ awk 'begin { print 13-3 }' #减
10
[gan@localhost tmp]$ awk 'begin { print 13*3 }' #乘
39
[gan@localhost tmp]$ awk 'begin { print 12/3 }' #除
4
[gan@localhost tmp]$ awk 'begin { print 13/3 }' #除
4.33333
[gan@localhost tmp]$ awk 'begin { print 13%3 }' #求余
1
[gan@localhost tmp]$ awk 'begin { print 13%5 }' #求余
3
[gan@localhost tmp]$ awk 'begin { print 13^2 }' #2次方
169
[gan@localhost tmp]$ awk 'begin { print 13**2 }'        #2次方
169
[gan@localhost tmp]$ awk 'begin { print -2 }'   #普通负数输出
-2
http://gan.cublog.cn
[gan@localhost tmp]$ awk 'begin { print (2 10)/2 ((3^2)/100) }' #综合一点的运算
6.09
[gan@localhost tmp]$ awk 'begin { x="123"; print x-2 }' #将字符串转换为数值来运算
121
http://gan.cublog.cn
2>. awk调用数学函数运算
函数名称            返回值
atan2(x,y)    y,x范围内的余切
cos(x)      余弦函数
exp(x)      求幂
int(x)      取整
log(x)      自然对数
rand()      随机数
sin(x)      正弦
sqrt(x)     平方根
srand(x)    x是rand()函数的种子

[gan@localhost tmp]$ awk 'begin { print atan2(1,2) }'
0.463648
[gan@localhost tmp]$ awk 'begin { print cos(3) }'
-0.989992
[gan@localhost tmp]$ awk 'begin { print cos(0.9) }'
0.62161
[gan@localhost tmp]$ awk 'begin { print int(1.9923) }'
1
[gan@localhost tmp]$ awk 'begin { print int(4.9923) }'
4
[gan@localhost tmp]$ awk 'begin { print exp(3) }'
20.0855
[gan@localhost tmp]$ awk 'begin { print exp(4) }'
54.5982
[gan@localhost tmp]$ awk 'begin { print log(4) }'
1.38629
[gan@localhost tmp]$ awk 'begin { print rand() }'
0.237788
[gan@localhost tmp]$ awk 'begin { print rand() }'
0.237788
[gan@localhost tmp]$ awk 'begin { print rand(32) }'
awk: fatal: 1 is invalid as number of arguments for rand
[gan@localhost tmp]$ awk 'begin { print sin(32) }'
0.551427
[gan@localhost tmp]$ awk 'begin { print sqrt(4) }'
2
[gan@localhost tmp]$ awk 'begin { print srand(4) }'
1
[gan@localhost tmp]$ awk 'begin { print srand(10) }'
1
[gan@localhost tmp]$ awk 'begin { srand(10); print rand()}'
0.255219
[gan@localhost tmp]$ awk 'begin { srand(10); print rand() }'
0.255219
[gan@localhost tmp]$ awk 'begin { srand(1000); print rand() }'
0.524085
[gan@localhost tmp]$ awk 'begin { srand(10); print rand() }'
0.255219
[gan@localhost tmp]$ awk 'begin { srand(10); print rand() }'
0.255219

3>. 利用数组做复杂的运算
将文件中的数据求和
[gan@localhost ftmp]$ cat file.txt
1
2
3
3
44
66
2
3
78
9900
235
[gan@localhost ftmp]$ awk 'begin {sum=0} {sum =$0} end{print sum}' file.txt
10337

求平均数:
[gan@localhost ftmp]$ awk 'begin {sum=0} {sum =$0} end{print sum/fnr}' file.txt
939.727

分组求平均:
[gan@localhost ftmp]$ cat gav.txt
1 100 10
1 200 20
1 300 30
1 500 20
2 100 3
2 300 5
[gan@localhost ftmp]$ awk -f" " '{sum2[$1] = $2; sum3[$1] = $3; cnt[$1] = 1} end{for (i in sum2) print i, sum2[i]/cnt[i], sum3[i]/cnt[i]}' gav.txt
1 275 20
2 200 4



阅读(9739) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图