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

如何在Bash中计算平均值并保留7位小数?

解决awk输出平均值保留7位小数的问题

没问题,这个需求很容易搞定!你之前的命令用print输出时,awk会采用默认的数值输出精度(通常是3位小数),要保留7位的话,只需要改用printf来指定精确的格式即可。

修改后的命令如下:

awk '{s+=$1} END {printf "Average: %.7f\n", s/NR}' file

关键说明:

  • printf "%.7f\n":这里的%.7f是格式化字符串,%f表示以浮点数形式输出,.7指定保留7位小数;\n用来换行,保证输出格式整洁。
  • s/NR:和你原来的逻辑一样,s是所有第一列数值的总和,NR是文件的总行数(也就是数值的个数),两者相除得到平均值。

举个例子,如果你的file内容是:

1.2345678
2.3456789
3.4567890

运行修改后的命令会输出:

Average: 2.3456786

另外,如果你的数值不在第一列,只需要把$1改成对应的列号(比如第二列就用$2)就行啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:13:11