You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用awk计算文本文件中指定行的平均值?

使用awk计算文本文件指定行的平均值

你的问题出在命令逻辑错误:

  • sum+=NF 累加的是字段的数量(NF是当前行的字段个数),而非每个字段的数值;
  • END块中的NF是最后一行的字段数,并非第一行的字段数,这也会导致计算偏差。

要计算第一行的平均值,正确做法是遍历第一行的每个字段,累加它们的数值,再除以字段总数,直接在第一行的处理块中输出结果即可:

awk 'NR==1 {sum=0; for(i=1;i<=NF;i++) sum+=$i; print sum/NF}' average.txt

命令解释:

  • NR==1:匹配文本的第一行;
  • sum=0:初始化累加和为0;
  • for(i=1;i<=NF;i++) sum+=$i:循环遍历第一行的每个字段($1到$NF),将字段值累加到sum中;
  • print sum/NF:计算并输出总和除以字段数的结果。

执行该命令后,会输出预期的5.666667。

内容的提问来源于stack exchange,提问作者MHmmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:21:01