Script sh: valeur la plus proche de 0

Fermé
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 2 mars 2009 à 16:17
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 2 mars 2009 à 17:54
Bonjour,

voilà, j'ai un script qui me permet de trouver la plus petite, la plus grande valeur, et la valeur la plus proche de 0
==> pour le moment il me manque cette dernière étape : trouver la valeur la plus proche de 0
#!/bin/bash

FILE=note.txt

MAX=$(cut -d "," -f2 $FILE | (awk 'NR==1, NR==20  {print $2 }' $FILE) | sort -n | head -1)
MIN=$(cut -d "," -f2 $FILE | (awk 'NR==1, NR==20  {print $2 }' $FILE) | sort -n -r | head -1)

echo " note min= $MIN "
echo " note max= $MAX "

CALC=$(echo "($MAX - $MIN) *-1" | bc) # affichage de la valeur absolue du nombre (ne marche que pour des nombres négatif, c'est pas tip top mais bon...)
ECART=$(expr "$CALC" : "\(.*\..\)")  # affichage du nombre arrondi à 1 chiffre après la virgule


voilà ou j'en suis pour le moment, il me manque maintenant l'astuce pour chercher dans la colonne, la valeur la plus proche de 0
en sachant que j'ai des nombres négatif et positif.

et en même temps si il y a une solution assez simple pour afficher le valeur absolue (sans signe) que prend une variable?
A voir également:

3 réponses

nounouille44 Messages postés 15 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 3 mars 2009 1
2 mars 2009 à 17:15
bonjour,
ce que tu peux faire, c'est scanner toutes tes valeurs une à une
et pour chaque tu vérifie qu'elle est supérieur a 0 et inférieur a la dernière valeur stocké comme etant la plus proche de 0

En espérant t'avoir aidé
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 mars 2009 à 17:34
une solution assez simple pour afficher le valeur absolue
si la valeur est plut petite que 0, la multiplier par -1
0
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 139
2 mars 2009 à 17:54
OK, merci pour les pistes, je vais chercher avec une boucle IF
0