Puede utilizar el lenguaje de programación R .
Aquí hay un script R rápido y sucio:
#! /usr/bin/env Rscript
d<-scan("stdin", quiet=TRUE)
cat(min(d), max(d), median(d), mean(d), sep="\n")
Tenga "stdin"
en cuenta scan
que hay un nombre de archivo especial para leer desde la entrada estándar (es decir, desde tuberías o redirecciones).
Ahora puede redirigir sus datos sobre stdin al script R:
$ cat datafile
1
2
4
$ ./mmmm.r < datafile
1
4
2
2.333333
También funciona para puntos flotantes:
$ cat datafile2
1.1
2.2
4.4
$ ./mmmm.r < datafile2
1.1
4.4
2.2
2.566667
Si no desea escribir un archivo de secuencia de comandos R, puede invocar una línea única verdadera (con salto de línea solo para facilitar la lectura) en la línea de comando usando Rscript
:
$ Rscript -e 'd<-scan("stdin", quiet=TRUE)' \
-e 'cat(min(d), max(d), median(d), mean(d), sep="\n")' < datafile
1
4
2
2.333333
Lea los excelentes manuales de R en http://cran.r-project.org/manuals.html .
Lamentablemente, la referencia completa solo está disponible en PDF. Otra forma de leer la referencia es escribiendo ?topicname
el aviso de una sesión interactiva de R.
Para completar: hay un comando R que genera todos los valores que desea y más. Desafortunadamente, en un formato amigable para los humanos que es difícil de analizar mediante programación.
> summary(c(1,2,4))
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.500 2.000 2.333 3.000 4.000