Obtenir le status de mpd avec awk
2021-12-06T13:27:53Z
Pour afficher quelle est la chanson jouée avec mpd dans une barre de status, j'utilisais ce script:
#!/bin/sh MPC="$(mpc)" if [ -n "$(printf "%s" "$MPC" |grep playing)" ]; then info="$(printf "%s" "$MPC" |head -n1 | cut -b -42)" L="$(printf "%s" "$MPC" |grep -Eo '[0-9]+:[0-9]+/[0-9]+:[0-9]+')" printf "%s\n" "♪ $info - $L" fi exit 0
On voit qu'il appelle mpc, head, cut, grep, et printf, soit en tout 5 commandes.
Voici comment je l'ai simplifié avec awk :
#!/bin/sh mpc | awk ' (NR == 1) { status = $0; next } (NR == 2) && /playing/ { isplaying = 1 progress = $3 next } END { if (isplaying) { printf "♪ %s - %s\n", status, progress } } '
J'aime beaucoup awk :)
Une réaction?
Envoyez votre commentaire par mail.
Mode d'emploi de la liste de diffusion pour recevoir les réponses.