¿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 -
¡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-

3 respuestas

  1. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660
     
    hola
    awk sabe hacer
    $ awk '{n=split($0, a, "," ); asort(a); print int((a[1]+a[n])/2+.5)}' <<<"78,99,12" 56 $ 
    2
  2. Usuario anónimo
     
    Hola,
    bash sabe hacer
    for 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
    2
  3. Swiss Knight Mensajes publicados 2257 Estado Miembro 110
     
    :-)
    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-
    0