Comparaison de reels en shell Linux

Résolu/Fermé
papdjiby Messages postés 2 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 18 août 2008 - 18 août 2008 à 14:09
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 juin 2012 à 20:42
Bonjour,
Cela fait fait une semaine que je suis bloqué sur un problème de comparaisons entre des nombres reels avec le shell linux.
La comparaison entre entiers ecrits sous un certain format marche, ex 12 -le 14 a un sens mais pas 12.00 -le 14. J'ai pensé surmonter le problème en multipliant les nombres reels à comparer par 1000 pour avoir des entiers. Mais le problème est que les entiers sont écrits sous le format identique à 12.00, ce qui peut pas marcher ( le shell n'accepte pas le format 12.00).
Je voudrais donc savoir s'il y'a quelqu'un qui pourrait m'aider pour surmonter ce problème.

Merci d'avance
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 août 2008 à 14:26
Salut
Essaie :
if [ $(echo "12.0 <= 14" | bc) -eq 1 ]; then 
   echo "inferieur
 fi

Cdt
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
18 août 2008 à 15:31
le shell ne comprend pas directement les flottants, utiliser, par ex., awk
0
papdjiby Messages postés 2 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 18 août 2008
18 août 2008 à 16:38
Je l'ai testé, cela marche super bien!
Un grand merci à vous!!!!!
0
je pense la réponse ici est mieux

http://abs.traduc.org/abs-5.0-fr/ch07s03.html
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 6/06/2012 à 20:42
Tu penses mal ^^.
La question portait sur la comparaison de flottant. Sujet non abordé sur ton lien. Mais bon le sujet date de 4 ans et a déjà été résolu.
0