Voglio prendere gli ultimi due numeri (uno int, uno float; seguito da uno spazio bianco opzionale) e stamparli solo.
Esempio:
foo bar <foo> bla 1 2 3.4
Dovrebbe stampare:
2 3.4
Finora, ho il seguente:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
mi darà
foo bar <foo> bla 1 replacement
Tuttavia, se provo a sostituirlo con il gruppo 1, viene stampata l'intera riga.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Come posso stampare solo la sezione della riga che corrisponde alla regex nel gruppo?
-ropzione o `--regexp-extended`, altrimenti stavo ottenendoinvalid reference \1 onl'errore RHS` del comando s.