18 votos

Usando bash, ¿cómo puedo encontrar el promedio, máximo y mínimo de una lista de números?

Tengo una serie hilo greps, awks y la sed que produce una lista de números, uno en cada línea. Algo como esto:

1.13
3.59 
1.23

¿Cómo puedo tubería a algo que va a la salida de la media, max y min?

27voto

DerfK Puntos 13616

Ya que estamos usando awk

blahblahblah | awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1<min) {min=$1}; total+=$1; count+=1} END {print total/count, max, min}'

4voto

ddrown Puntos 71

Me parece que este programa útil para la generación de estadísticas en las listas de números en la línea de comandos: http://web.cs.wpi.edu/~claypool/misc/stats/stats.html

0voto

user192124 Puntos 1

También hay simple-r, que puede hacer casi todo lo que R puede, pero con menos pulsaciones de teclas:

https://code.google.com/p/simple-r/

Para calcular el promedio, max, min, uno tendría que escriba uno de los siguientes:

r summary file.txt
r summary - < file.txt
cat file.txt | r summary -

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: