Bonjour,
je souhaite extraire la dernière valeur numérique des lignes répondant à un pattern.
J'utilise cette commande :
mais obtient l'ensemble des valeurs numériques et non la dernière :
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}')
comme si la commande se réduisait à :
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $echo "$numero_plugin" 5 7 8 9
Si je force le caractère 'espace' comme séparateur
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')
cela ne change rien.
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part awk 'BEGIN { FS = " " } {print $NF}'
Or, si je fais
j'obtiens bien la dernière valeur numérique, i.e. 9.
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 test="5 7 8 9" echo $test | awk '{print $NF}
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 ?
Partager