Les Allergies
Alimentaires
Posez votre question Signaler

[Linux Bash] comparaison et regexp

santiago69 483Messages postés 7 mars 2001Date d'inscription 22 avril 2010Dernière intervention - Dernière réponse le 30 avril 2008 à 14:52
Salut a tous,
Quelqu'un sait il comment faire une comparaison entre une chaine et une expression reguliere
par exemple comment renvoyer vrai dans l'egalite suivante ?
"santiago,diez" = "[a-z]+,[a-z]+"

et faux dans celle-ci (a cause des majuscules) :
"santiago,DIEZ" = "[a-z]+,[a-z]+"

Ce ne sont que des exemple, j'aimerais savoir de maniere generale s'il existe une syntaxe permettant de faire ce genre de comparaison et qui puisse s'inserer dans une instruction if.
Voila merci de votre aide
Santiago
Lire la suite 

[Linux Bash] comparaison et regexp »

3 réponses
Réponse
+0
moins plus
houlalal, dur la question.
Je ne sais pas si je vais beaucoup t'aider, mais ce que j'ai trouvé de plus approchant, c'est :
if (("abc"=="abc")) ;then  echo "OK";fi
Je n'ai pas réussi à utiliser les [a,z].
Je te conseil de regarder dans "man bash" sur la grammaire du shell. Peut-être que quelque chose du genre
(("abc"=="abc"))
fonctionnerai.
Ajouter un commentaire
Réponse
+0
moins plus
Merci Char Snipeur mais en fait je cherche a faire une comparaison avec des expressions regulieres.
bash_tip - 30 avril 2008 à 14:52
Salut,

Tu peux utiliser un case

case WORD in
glob [| glob]...) COMMANDS ;;
regex [| regex]...)) COMMANDS ;;
...
esac
Ajouter un commentaire
Ce document intitulé « [Linux Bash] comparaison et regexp » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?