Re: [LA-technique] grep et regexp

[ Thread Index | Date Index | More linuxarverne.org/technique Archives ]


Bonsoir !

 

----- Original Message -----

From: Daniel Cartron

Sent: 03/03/14 07:12 PM

To: technique@xxxxxxxxxxxxxxxx

Subject: Re: [LA-technique] grep et regexp

Je veux récupérer le volume de amixer, donc j'écris 
VOL=$(amixer | grep '%' ) 
ce qui me donne 
blabla [xx%] [blabla] [blabla] 
et évidemment ce qui m'intéresse c'est xx% (avec le %) 

et bien entendu j'y arrive pas... 

Donc, mon cher Kewlcat, si tu pouvais à nouveau me dépanner, ce serait 
chouette (mais n'importe qui aussi peut participer). 

 

Je ne sais pas si mon explication va te convaincre, mais j'essaie quand même : je vais capturer tout ce qui se trouve entre le premier crochet (qu'il faut échapper parce que [ est un caractère spécial) et le % qui suit, en forçant la capture uniquement de chiffres. Pour ne conserver que le groupe de capture (ce qui se trouve entre les parenthèses échappées, parce qu'elles ne sont pas des déclarations de groupe de capture si elles ne sont pas échappées !) il faut matcher l'intégralité de la ligne, donc j'ajoute ^.* et .*$ (début et fin de ligne)... Ca donne une nouvelle fois une bonne grosse soupe de "\" mais ça fonctionne (chez moi en tout cas) :

amixer | grep % | sed -e 's/^.*\[\([0-9]\+%\).*$/\1/'

 

 =^.^=

 



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/