LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1009|回复: 2

书上看到的例子

[复制链接]
发表于 2010-8-17 10:56:59 | 显示全部楼层 |阅读模式
[root@shpdl380prx2 nm308]# cat data5
130 120 135
160 113 140
145 170 215
[root@shpdl380prx2 nm308]# awk '{ total = 0;i=1;while(i<4) {total +=$i; i++} avg =total /3;print "Average:",avg }' data5
Average: 128.333
Average: 137.667
Average: 176.667

大多数都能看懂,但不理解为什么最后把除余3后的值都累加起来。
130/3=43.333 120/3=40 135/3=45 Average: 128.333=43.333+40+45
发表于 2010-8-17 19:22:34 | 显示全部楼层
输出每一行三个数的平均数
回复 支持 反对

使用道具 举报

发表于 2010-8-18 18:19:28 | 显示全部楼层
  1. perl -nae '$sum+=$_ for (@F) ;printf  "Average:%.3f\n",$sum/3' foo
复制代码

Average:128.333
Average:266.000
Average:442.667
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表