chenjiali1 发表于 2020-09-03 08:49

如何计算每个学生的成绩平均数

A文件如下:
张三 语文 102
张三 数学 98
李四 语文 50
李四 数学 50

想要的结果如下:
张三 100
李四 50
谢谢大家。请问如何实现,谢谢了!

Shell_HAT 发表于 2020-09-04 20:42

回复 1# chenjiali1


awk '{a[$1]+=$3}END{for(i in a)print i,a/length(a)}' 1.txt

renxiao2003 发表于 2020-10-28 12:31

回复 2# Shell_HAT

高效的AWK命令。

chenjiali1 发表于 2021-02-01 17:20

回复 2# Shell_HAT

好像不是我想要的,大师,我想单独除以每个人的成绩数。谢谢了,这个好像除的4,每个人想单独除以2.

兴业超市 发表于 2021-02-08 15:10


awk '{sum[$1]+=$3;count[$1]++}END{for (i in sum) print i,sum/count}' f

cat f.txt -Encoding utf8|foreach -Begin {$sum=@{};$count=@{}}{$f=$_.split();$sum[$f]+=$f;$count[$f]++}-End {foreach ($i in $sum.keys) {"{0} {1}" -f $i,($sum[$i]/$count[$i])}}

ll104567 发表于 2021-03-19 11:26

cat b.txt|awk '{a[$1]+=$3;b[$1]++}END{for(i in a){print i,a/b}}'
页: [1]
查看完整版本: 如何计算每个学生的成绩平均数