¿Existe algún medio para encontrar el min y el max en...?
Resuelto
Swiss Knight
Mensajes publicados
2257
Estado
Miembro
-
Swiss Knight Mensajes publicados 2257 Estado Miembro -
Swiss Knight Mensajes publicados 2257 Estado Miembro -
¡Hola!
¿Existe un medio simple en bash para encontrar el mínimo y el máximo de números contenidos en una cadena?
Ejemplo:
$ A=78,99,12
Un truco que devuelva 12 como mínimo y 99 como máximo.
Mejor: un truco que devuelva la media del min encontrado y del max encontrado, es decir, aquí (99+12)/2
redondeado al entero más cercano (bueno, en este caso será el entero directamente superior, pero si hiciéramos una división por 3 podría ser diferente)
No he encontrado una función de este tipo:
min(A)=12
max(A)=99
ni siquiera en bc.
¡Muchas gracias!
--
"Si no puedes explicar un concepto a un niño de seis años, es que no lo entiendes completamente." -A. Einstein-
¿Existe un medio simple en bash para encontrar el mínimo y el máximo de números contenidos en una cadena?
Ejemplo:
$ A=78,99,12
Un truco que devuelva 12 como mínimo y 99 como máximo.
Mejor: un truco que devuelva la media del min encontrado y del max encontrado, es decir, aquí (99+12)/2
redondeado al entero más cercano (bueno, en este caso será el entero directamente superior, pero si hiciéramos una división por 3 podría ser diferente)
No he encontrado una función de este tipo:
min(A)=12
max(A)=99
ni siquiera en bc.
¡Muchas gracias!
--
"Si no puedes explicar un concepto a un niño de seis años, es que no lo entiendes completamente." -A. Einstein-
3 respuestas
-
hola
awk sabe hacer$ awk '{n=split($0, a, "," ); asort(a); print int((a[1]+a[n])/2+.5)}' <<<"78,99,12" 56 $ -
Hola,
bash sabe hacerfor i in ${var//,/ } do min=$((min?(min>i?i:min):i)) max=$((max?(max<i?i:max):i)) done echo "min: $min - max: $max - moy: $(((max+min)/2))" min: 12 - max: 99 - moy: 55 -
:-)
Sus dos soluciones funcionan muy bien. Todavía tengo mucho que aprender.
¡Gracias!
"Si no puedes explicar un concepto a un niño de seis años, es que no lo entiendes completamente." -A. Einstein-