Bash et REGEXP

Résolu/Fermé
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 16 août 2012 à 15:02
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 16 août 2012 à 15:21
Bonjour tout le monde !!!

je suis entrain d'écrire une ptit script dans lequel j'aimerais tester la syntax d'un paramètre.

if [[ $1 =~ /dev/[a-]{3} ]]

en fait je voudrais tester si le param 1 a pour valeur /dev/hda mais je voudrais que le test soit vrai uniquement sil y a 3 alpha.
le problème est que si plus de 3 alpha, le test est quand meme bon donc problème, on sait tous q'un part se nomme de cette manière /dev/hdX ou /dev/sdX

voila jespère etre comprehenssible...

Merci d'avance :)



4 réponses

Utilisateur anonyme
16 août 2012 à 15:18
salut,

le $ marque la fin d'une ligne, i.e. la fin d'une regex.
par exemple
for i in /dev/*; do [[ $i =~ /dev/[a-z]{3}$ ]] && echo "$i"; done
/dev/bsg
/dev/bus
/dev/dri
/dev/log
/dev/mem
/dev/net
/dev/ppp
/dev/pts
/dev/rtc
/dev/sda
/dev/shm
/dev/snd
/dev/tty
/dev/vcs
1
tuxboy Messages postés 994 Date d'inscription lundi 23 juillet 2012 Statut Membre Dernière intervention 28 mai 2019 189
Modifié par tuxboy le 16/08/2012 à 15:12
Je n'ai rien compris, mais tu peux filtrer ton param avant avec la fonction "cut"
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
16 août 2012 à 15:14
Salut,

en fait je voudrais tester si le param 1 a pour valeur /dev/hda mais je voudrais que le test soit vrai uniquement sil y a 3 alpha.
Euh... ce n'est pas clair tout ça ;-(
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
16 août 2012 à 15:21
j'était parti pour la refaire mais merci, j'avais pensé au cut mais pas a la fin de ligne.

Merci a tous pour la réactivité et qqchquicommenceparQ pour la réponse.

Bonne aprem,

PS/ je suis en train d'apprendre les expression régulière, c'est pas gagné xD
0