Bonjour,

je souhaite extraire la dernière valeur numérique des lignes répondant à un pattern.
J'utilise cette commande :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
numero_plugin=$(grep "genmon" /home/administrateur/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml | sed 's/[^[:digit:]]//g' | awk '{print $NF}')
mais obtient l'ensemble des valeurs numériques et non la dernière :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$echo "$numero_plugin"
5 7 8 9
comme si la commande se réduisait à :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
numero_plugin=$(grep "genmon" /home/administrateur/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml | sed 's/[^[:digit:]]//g')
Si je force le caractère 'espace' comme séparateur
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
awk 'BEGIN { FS = " " } {print $NF}'
cela ne change rien.

Or, si je fais
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
test="5 7 8 9"
echo $test | awk '{print $NF}
j'obtiens bien la dernière valeur numérique, i.e. 9.

Tout se passe comme si les valeurs 5 7 8 9 contenues dans $numero_plugin n'étaient pas séparées par des espaces.
Ou alors ce sont bien des espaces, mais awk ne fonctionne pas dans ce contexte.

Qu'est-ce qui m'échappe ?