Le Bash, les expressions régulières et leurs mystères :
$ a=rty84bn
$ echo $(expr $a : .*'[0-9]')
5
ce qui retourne la position du dernier caractère numérique.
Comment obtenir la position du premier caractère numérique (en fait, comment 
extraire simplement le nombre) ?

Autre problème :
$ a="rty 84bn"
$ echo $(expr $a : .*'[0-9]')
expr: syntax error

Bien sûr je peux faire un : 
a=${a/ /}
pour supprimer l'espace et éviter l'erreur, mais elle est surpremante car 
d'après la doc "." remplace n'importe quel caractère !

Une idée ?

Jean-Claude

____________________________________________________
Want to buy your Pack or Services from Mandriva? 
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________

Répondre à