Je veux saisir les deux derniers nombres (un entier, un flottant; suivi d'un espace blanc facultatif) et les imprimer uniquement.
Exemple:
foo bar <foo> bla 1 2 3.4
Devrait imprimer:
2 3.4
Jusqu'à présent, j'ai ce qui suit:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
me donnera
foo bar <foo> bla 1 replacement
Cependant, si j'essaye de le remplacer par le groupe 1, la ligne entière est imprimée.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Comment puis-je imprimer uniquement la section de la ligne qui correspond à l'expression régulière dans le groupe?
-r
option ou `--regexp-extended` sinon j'obtenaisinvalid reference \1 on
l'erreur RHS` de la commande s.