IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Cherche test variable numerique


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut Cherche test variable numerique
    he me revoi la ...

    dans le meme contexte que taleur je cherche a tester une variable pour savoir si elle est numerique ou pas dans un script shell cela va de soit ?? svouplai !!

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    pour faire simple remplace tous les chiffres dans le comptage des caracteres du contenu de la variable $variable et compare a 1
    ( > a 1) puisque 0 num
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if [ `echo $variable | sed -e "s/[0-9]//g" | wc -c` -gt 1 ] ; then
       echo "not only numeric"
    fi

    ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    pur31:~/Documents # variable=34
    pur31:~/Documents # echo $variable | sed -e "s/[0-9]//g" | wc -c
    1
    pur31:~/Documents # variable=3aa4
    pur31:~/Documents # echo $variable | sed -e "s/[0-9]//g" | wc -c
    3
    pur31:~/Documents #
    pur31:~/Documents #
    pur31:~/Documents # if [ `echo $variable | sed -e "s/[0-9]//g" | wc -c` -gt 1 ] ; then
    >    echo "not only numeric"
    > fi
    not only numeric
    pur31:~/Documents #

    voila pourquoi il faut comparer ( > a 1 ) et pas a 0

    atttention a un detail toutefois cette methode rejete aussi les blocs de plusieurs nombres comme par exemple :

    variable="44 55 0" sera rejete

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    merci beaucoup
    ca me va tres bien

    a pliche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cherche test sur variable
    Par nenekes dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/11/2006, 18h32
  2. test variable vide
    Par vince2005 dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2006, 15h00
  3. [VBA-E] Test format numerique de cellules
    Par allergique dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/08/2006, 00h11
  4. [AS2] Variable numerique bornée
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 23/08/2005, 17h14
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo