Puedes hacer esto con R , que puede ser un poco exagerado ...
EDIT 2: [OOPS, parece que alguien más golpeó con Rscript mientras estaba volviendo a escribir esto.] Encontré una manera más fácil. Instalado con R debe estar Rscript, que está destinado a hacer lo que está tratando de hacer. Por ejemplo, si tengo un archivo bar
que tiene una lista de números, uno por línea:
cat bar | Rscript -e 'summary (as.numeric (readLines ("stdin")))'
Canalizará esos números en R y ejecutará el summary
comando de R en las líneas, devolviendo algo como:
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 2.25 3.50 3.50 4.75 6.00
También podrías hacer algo como:
script -e 'quantile (as.numeric (readLines ("stdin")), probs=c(0.025, 0.5, 0.975))'
para obtener cuantiles. Y, obviamente, podría cortar la primera línea de salida (que contiene etiquetas) con algo como:
cat bar | Rscript -e 'summary (as.numeric (readLines ("stdin")))' | tail -n +2
Recomiendo encarecidamente hacer lo que quiera en R interactivo primero, para asegurarse de que tiene el comando correcto. Al intentar esto, omití el paréntesis de cierre y Rscript no devuelve nada: ningún mensaje de error, ningún resultado, simplemente nada.
(Para el registro, la barra de archivos contiene:
1
2
3
4
5
6