我有一个由 240 个浮点数字组成的日志文件,格式如下:
5.4
5.1
5.2
5.4
5.4
4.9
5.0
5.2
5.5
5.3
5.6
5.4
5.1
5.3
5.3
5.1
5.2
..
4.8
在 bash 环境中访问此日志文件,我需要计算此数据的平均值(元素之和除以元素数量),然后将结果值存储为我将在同一 bash 中使用的新变量用于某些目的的脚本,例如我需要存储一个变量mean = 5.0 是否可以直接在一个bash脚本中执行此操作?
答案1
使用 awk:
awk '{sum+=$1}END{print sum/NR}' file.log
要将其存储在 bash 变量中,请使用命令替换:
variable=$(awk '{sum+=$1}END{print sum/NR}' file.log)
为了改变精度,您可以使用printf
:
variable=$(awk '{sum+=$1}END{printf "%.1f", sum/NR}' file.log)