[Linux Bash] comparaison et regexp

santiago69 Messages postés 485 Statut Membre -  
 bash_tip -
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

2 réponses

Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
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.
0
santiago69 Messages postés 485 Statut Membre 209
 
Merci Char Snipeur mais en fait je cherche a faire une comparaison avec des expressions regulieres.
0
bash_tip
 
Salut,

Tu peux utiliser un case

case WORD in
glob [| glob]...) COMMANDS ;;
regex [| regex]...)) COMMANDS ;;
...
esac
0