Re: [LA-technique] grep et regexp |
[ Thread Index | Date Index | More linuxarverne.org/technique Archives ]
----- 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/ |