Le Tuesday 26 July 2005 11:44, Christophe Gaubert a écrit : > Jean-Claude Garaud a écrit : > > Je viens de trouver çà : > > echo `expr match "$a" '.*neige'` > > 11 > > qui semble me retourner la position dernier caractère. > > Comprends pas très bien la signification du .* > > Ça te donne la longueur de la sous-chaîne commençant au début de $a et > correspondant à l'expression régulière '.*neige', sachant que .* matche > n'importe quelle suite de caractères. Ah, et c'est la plus longue > sous-chaine, comme le montre : > > a="il neige aujourd'hui, il neige depuis hier" > b="il neige aujourd'hui" > echo $(expr "$a" : '.*neige') > echo $(expr "$b" : '.*neige') > > [ La notation : est strictement équivalente à "expr match" ] > > Pour de la doc, à part le 'advanced bash scripting guide'... > En anglais : > http://www.tldp.org/LDP/abs/html/ > En français : > http://abs.traduc.org/index.html > (la dernière version a encore besoin de relecteurs pour être officielle)
Merci pour toutes ces précisions. Je me sers effectivement très souvent de http://www.tldp.org/LDP/abs/html/ et http://abs.traduc.org/index.html pour l'ecriture de mes scripts. Dans l'ensemble les explications et surtout les exemples sont excellents. Mais expr et regex ç'est vraiment tordu : le sujet gagnerait à être plus développé. J'ai trouvé ça aussi pour utiliser une variable pour la sous-chaîne : bien utile dans un script : c=neige echo $(expr "$a" : \.\*$c) Jean-Claude
____________________________________________________ Want to buy your Pack or Services from Mandriva? Go to http://store.mandriva.com Join the Club : http://www.mandrivaclub.com ____________________________________________________
