Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/09/2011, 15h07   #1
Invité régulier
 
Homme DAVID
Inscription : mars 2007
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme DAVID
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : mars 2007
Messages : 5
Points : 7
Points : 7
Par défaut expressions régulières dans switch (case)

Bonjour,

Est-ce que quelque sait comment définir le nombre d'élément {n,m} ?

l'expression pour dire que si l'argument est un nombre de 1 à 3 chiffres ne fonctionne pas. Pareil pour
Code :
1
2
3
4
5
6
7
8
9
10
 
case "$1" in
    [[:digit:]]{1,3} )
        echo "...";;
    [[:lower:]]{4} )
        echo "...";;
    * )
        echo "..." 
        exit 1;;
esac
mercie d'avance
sergevich est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/09/2011, 15h27   #2
Membre actif
 
Homme
Inscription : août 2011
Messages : 44
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 44
Points : 153
Points : 153
Citation:
Envoyé par sergevich Voir le message
pour dire que si l'argument est un nombre de 1 à 3 chiffres ne fonctionne pas. Pareil pour
La structure 'case' ne permet pas de le faire.
Pour cela il faut utiliser le comparateur =~
Exemple :
Code :
1
2
3
4
5
6
$ foo=123
$ [[ $foo =~ [[:digit:]]{3} ]] && echo yes || echo no
yes
$ foo=1A2
$ [[ $foo =~ [[:digit:]]{3} ]] && echo yes || echo no
no
edit : mais le mieux est tout de même d'utiliser grep pour "manipuler" les [E]RE
chardclo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/09/2011, 18h28   #3
Invité régulier
 
Homme DAVID
Inscription : mars 2007
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme DAVID
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : mars 2007
Messages : 5
Points : 7
Points : 7
Merci pour votre réponse.

Bonne soirée
sergevich est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h37.


 
 
 
 
Partenaires

Hébergement Web