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 POSIX Discussion :

connaitre si une valeur est aphabétique


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut connaitre si une valeur est aphabétique
    Bonjour,

    J'ai une variable Matricule qui est souvent composé de 4 caractéres numériques.
    Parfois, sur 4 caractéres numérique, le dernier est alphabétique. Dans ce cas, je souhaiterai le savoir. Comment faire :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Matricule=1256
     
    Matricule=125P
     
    TestMatricule=$(echo ${Matricule} | cut -c4)
    ......
    Merci pour votre aide

  2. #2
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Une partie de la réponse, récupérer le dernier caractère d'une chaine.

    Ensuite il reste a comparer avec un ce que tu souhaite comparer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/ksh
    ID=123P
    ID2=1234
     
    echo "$ID finit par ${ID: -1}"
    echo "$ID2 finit par ${ID2: -1}"

  3. #3
    Expert confirmé 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 : 48
    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    isnumeric()
    {
    	result=$(echo "$1" | tr -d '[[:digit:]]')
    	echo ${#result}
    }
     
    isalpha()
    {
    	result=$(echo "$1" | tr -d '[[:alpha:]]')
    	echo ${#result}
    }
    ou sans fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if echo "$variable_a_tester" | grep '^[0-9][0-9]*$' >/dev/null
    then
        : numeric
    else
        : non numeric
        exit 1
    fi
    ça permet de tester correctement.

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    j'ai un message d'erreur, lorsque je lance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "$ID finit par ${ID: -1}"
    bad substitution....


    il aime pas le -1

  5. #5
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par vince2005 Voir le message
    j'ai un message d'erreur, lorsque je lance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "$ID finit par ${ID: -1}"
    bad substitution....


    il aime pas le -1
    quel shell?

    perso j' l'ai testé sous cygwin et linux bash et je n'ai pas ce souci (ceci dit l'operateur ${str:-expr} n'as pas tout à fait la même signification en ksh....)

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/05/2006, 05h35
  2. Réponses: 2
    Dernier message: 13/03/2006, 11h47
  3. vérifier qu'une valeur est numérique
    Par kopofb dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/11/2005, 14h02
  4. Calcul Stock Actuel mm lorsqu'une valeur est null
    Par priest69 dans le forum Access
    Réponses: 3
    Dernier message: 12/09/2005, 18h58
  5. Réponses: 2
    Dernier message: 17/08/2005, 14h40

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