文件file中有一下内容,
002,p,English,87,makeup
003,o,English,99,final
002,p,Math,100,final
003,o,Math,88,final
004,y,English,65,final
004,y,Math,67,final
001,q,English,0,final
001,q,Math,88,final
怎样按照学号(第一列),把每个学号的总成绩算出来,如
002,187
003,187
...........
用awk统计一组成绩的问题!
-
- 帖子: 3
- 注册时间: 2008-10-04 10:01
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: 用awk统计一组成绩的问题!
cut -d"," -f1,4|awk 'BEGIN{FS=","} NR!=1 {a[$1]++;b[$1]=b[$1]+$2}END{for (i in a) printf("%s %10.0f \n", i, b)} '
一梦三年,
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: 用awk统计一组成绩的问题!
http://unstableme.blogspot.com/search/label/awk%20array
这里抄的, 自己看看吧。排序可以用sort
这里抄的, 自己看看吧。排序可以用sort
一梦三年,
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
-
- 帖子: 3
- 注册时间: 2008-10-04 10:01
Re: 用awk统计一组成绩的问题!
非常感谢,高手阿,不知道你怎么找到的,很不错呢...
-
- 帖子: 3
- 注册时间: 2008-10-04 10:01
Re: 用awk统计一组成绩的问题!
yjcong 写了:cut -d"," -f1,4|awk 'BEGIN{FS=","} NR!=1 {a[$1]++;b[$1]=b[$1]+$2}END{for (i in a) printf("%s %10.0f \n", i, b)} '
不过那个NR!=1是错的哦,要改成NR!=0