Re: [ssfr] Pb avec awk (completement debutant) |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
giggzounet a écrit :
Bonjour,
Je ne connais à awk...et j'essaye de l'utiliser...bref ça ne marche pas :)
http://cli.asyd.net/home/filtres/awk/presentation
Mon but est de configurer "awesome". Pour celà j'essaye de faire
apparaitre un petit widget qui indique le volume du PCM. J'utilise donc
amixer pour ça :
12:39 giggz@thor ~ % amixer get PCM
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 11 [35%] [-18.00dB] [on]
Front Right: Playback 11 [35%] [-18.00dB] [on]
Le but est de récupérer le 35. Donc le fichier dont je m'inspire le gars
met ça :
amixer get PCM | awk \'{ field = $NF }; END{sub(/%/," "); print
substr($5,2,3)}\'
Moi qd je colle ça dans mon terminal (le shell est zsh) j'ai ça :
12:39 giggz@thor ~ % amixer get PCM | awk \'{ field = $NF };
END{sub(/%/," "); print substr($5,2,3)}\'
zsh: parse error near `}'
Si qqn pouvait m'aider...
Il ne faut pas echapper les ' de l'expression awk
echo 'Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 11 [35%] [-18.00dB] [on]
Front Right: Playback 11 [35%] [-18.00dB] [on]'|awk '{ field = $NF };END{sub(/%/," "); print substr($5,2,3)}'
35
Sinon, y'a ça qui marche aussi dans ce cas
echo 'Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 11 [35%] [-18.00dB] [on]
Front Right: Playback 11 [35%] [-18.00dB] [on]'| awk -F [ '/Front Left:/ {print substr($2,1,2)}'
35
le -F [, c'est pour spécifier [ comme séparateur de champ
/Front Left:/ => pour la ligne qui contient ça, on fait substr($2,1,2), soit afficher deux caractères du 2e champ, en commençant au 2e caractère
(indice 1), dans ton exemple le 2e champ contient "35%] " (sans les guillemets).
Pour les autres lignes on ne fait rien...
--
Daniel