[bash] existe-t-il un moyen de trouver le min et max dans...

Résolu/Fermé
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - 6 mai 2013 à 14:22
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - 6 mai 2013 à 16:00
Bonjour !

Existe-t-il un moyen simple en bash pour trouver le minimum et le maximum de nombres contenus dans une chaîne ?
Exemple :
$ A=78,99,12

Un truc qui retourne 12 comme minimum et 99 comme maxi ?


Mieux : un truc qui retourne la moyenne du min trouvé et du max trouvé, i.e. ici (99+12)/2
arrondi à l'entier le plus proche (bon en l'occurrence ce sera l'entier directement supérieur, mais si on faisait une division par 3 ce pourrait être différent)

Je n'ai pas trouvé de fonction de ce genre :
min(A)=12
max(A)=99
même dans bc.

Merci beaucoup !

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 mai 2013 à 14:39
hello
awk sait faire
$ awk '{n=split($0, a, ","); asort(a); print int((a[1]+a[n])/2+.5)}' <<<"78,99,12"
56
$ 
2