tendencia para moda medidas mediana estadistica ejemplos datos como central calcular agrupados command-line statistics average mean

command line - para - ¿Cuál es la forma más rápida de obtener la media de un conjunto de números de la línea de comando?



mediana (7)

Usando cualquier herramienta que esperaría encontrar en un sistema nix (de hecho, si lo desea, msdos también está bien), ¿cuál es la forma más fácil / rápida de calcular la media de un conjunto de números, suponiendo que los tiene uno por línea en una secuencia o archivo?


Awk

awk ''{total += $1; count++ } END {print total/count}''


En Powershell, sería

get-content ./meanNumbers.txt | measure-object -average

Por supuesto, esa es la sintaxis detallada. Si lo escribiste usando alias,

gc ./meanNumbers.txt | measure-object -a


Perl.

@a = <STDIN>; for($i = 0; $i < #@a; $i++) { $sum += $a[i]; } print $a[i]/#@a;

Caveat Emptor: mi sintaxis puede ser un poco ociosa.


Usando Num-Utils para UNIX:

average 1 2 3 4 5 6 7 8 9


awk '' { n += $1 }; END { print n / NR }''

Esto acumula la suma en n , luego se divide por el número de elementos ( NR = Número de registros).

Funciona para enteros o reales.


perl -e ''while (<>) { $sum += $_; $count++ } print $sum / $count, "/n"'';


Usando "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

Especifique una opción para ver estadísticas individuales:

$ st numbers.txt --mean 5.5

(DESCARGO DE RESPONSABILIDAD: escribí esta herramienta :))