gpt4 book ai didi

linux - 使用awk计算平均成绩

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:37 24 4
gpt4 key购买 nike

我有这样一个文件:

id1 name1 grade1 grade2 grade3....gradeN
id2 name2 grade1 grade2 grade3....gradeN
etc

我想使用 awk 打印每行的 id、名称和平均成绩。任何想法?输出应该是这样的:

id1 name1 avg_of_grades
id2 name2 avg_of_grades

最佳答案

使用awk:

awk '{sum=0;for(i=3;i<=NF;i++) sum+=$i; print $1, $2, (NF>2?sum/(NF-2):0)}' file

从第三列迭代到行尾,并在名为 sum 的变量中捕获总数。完成后,只需打印第 1、2 列和平均值。由于 sum 将包含滚动总计,我们在脚本的开头将其设置为 0 以针对每一行对其进行初始化。

请注意,对于平均值,我使用了 NF 变量,它包含每行的总列数。我们减去 2 以获得正确的总数(我们从第三列开始捕获)。

此外,如果您只有两列,我还添加了除以零的检查。

关于linux - 使用awk计算平均成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com