【发布时间】:2010-09-17 21:07:39
【问题描述】:
使用您希望在 nix 系统上找到的任何工具(事实上,如果您愿意,msdos 也可以),假设您计算一组数字的平均值的最简单/最快的方法是什么在流或文件中每行一个吗?
【问题讨论】:
标签: command-line statistics average mean
使用您希望在 nix 系统上找到的任何工具(事实上,如果您愿意,msdos 也可以),假设您计算一组数字的平均值的最简单/最快的方法是什么在流或文件中每行一个吗?
【问题讨论】:
标签: command-line statistics average mean
awk ' { n += $1 }; END { print n / NR }'
这会在 n 中累加总和,然后除以项目数(NR = 记录数)。
适用于整数或实数。
【讨论】:
Awk
awk '{total += $1; count++ } END {print total/count}'
【讨论】:
在 UNIX 上使用 Num-Utils:
average 1 2 3 4 5 6 7 8 9
【讨论】:
perl -e 'while (<>) { $sum += $_; $count++ } print $sum / $count, "\n"';
【讨论】:
使用“st”(https://github.com/nferraz/st):
$ st numbers.txt
N min max sum mean sd
10.00 1.00 10.00 55.00 5.50 3.03
指定一个选项以查看个人统计数据:
$ st numbers.txt --mean
5.5
(免责声明:我写了这个工具:))
【讨论】:
在 Powershell 中,它会是
get-content .\meanNumbers.txt | measure-object -average
当然,这是冗长的语法。如果您使用别名输入,
gc .\meanNumbers.txt | measure-object -a
【讨论】:
Perl。
@a = <STDIN>;
for($i = 0; $i < #@a; $i++)
{
$sum += $a[i];
}
print $a[i]/#@a;
Caveat Emptor:我的语法可能有点奇怪。
【讨论】:
【讨论】: