在bash中计算大于3位小数的平均值

在bash中计算大于3位小数的平均值,bash,awk,decimal,average,Bash,Awk,Decimal,Average,我试图用bash计算文件中一些数字的平均值。我知道awk能很好地解决这个问题 awk '{s+=$1} END {print "Average: " s/NR}' file 但它只给了我3位小数的输出。虽然在某些情况下这已经足够了,但我需要7位小数。如何执行此操作?打印值时,请使用带有适当格式字符串的printf: awk '{ s += $1 } END { printf("%.7f\n", s/NR) }' file 下面的awk可能会对您有所帮助 awk '{sum+=$1} END{

我试图用bash计算文件中一些数字的平均值。我知道
awk
能很好地解决这个问题

awk '{s+=$1} END {print "Average: " s/NR}' file

但它只给了我3位小数的输出。虽然在某些情况下这已经足够了,但我需要7位小数。如何执行此操作?

打印值时,请使用带有适当格式字符串的
printf

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

下面的
awk
可能会对您有所帮助

awk '{sum+=$1} END{print sum/FNR}' OFMT="%0.9g"  Input_file

非常感谢你。它工作得很好!没想到会有这么快的回答!如果有任何答案,你可以好好考虑一下。也有可能投票选出有用的答案