结果统计 求助 急

sh/bash/dash/ksh/zsh等Shell脚本
回复
zeng8809
帖子: 19
注册时间: 2010-07-06 23:58

结果统计 求助 急

#1

帖子 zeng8809 » 2012-06-13 17:33


有这样一个结果(字段1为次数,字段2为问题Id):
9943 questionId: 1
19411 questionId: 2
14503 questionId: 3
12142 questionId: 31
1997 questionId: 32
1363 questionId: 33
8767 questionId: 61
873 questionId: 62
480 questionId: 63
怎么更快地在这个结果的基础上分别计算出questionId: 1 + questionId: 31 + questionId: 61 的次数总和(即:9943+12142+8767的和), questionId: 2 + questionId: 32 + questionId: 62 的次数总和, 以及questionId: 3 + questionId: 33 + questionId: 63的次数总和。

希望各位路过的牛赐教~~~O(∩_∩)O谢谢
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 结果统计 求助 急

#2

帖子 lilydjwg » 2012-06-13 17:55

用计算器算,比你在这里发帖等答案快多了。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 结果统计 求助 急

#3

帖子 aerofox » 2012-06-13 20:50

代码: 全选

#!/usr/bin/awk
$3==1 || $3==31 || $3==61 {sum1 += $1}
$3==2 || $3==32 || $3==62 {sum2 += $1}
$3==3 || $3==33 || $3==63 {sum3 += $1}
END {print $1, $2, $3}
或者

代码: 全选

awk '{sum[substr($3,length($3))] += $1}; END {print sum[1], sum[2], sum[3]}'
回复