Quero pegar os dois últimos números (um int, um float; seguido pelo espaço em branco opcional) e imprimi-los apenas.
Exemplo:
foo bar <foo> bla 1 2 3.4
Deve imprimir:
2 3.4
Até agora, tenho o seguinte:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
vai me dar
foo bar <foo> bla 1 replacement
No entanto, se eu tentar substituí-lo pelo grupo 1, toda a linha será impressa.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Como posso imprimir apenas a seção da linha que corresponde à regex do grupo?
-r
opção `--regexp-extended`, caso contrário, estava recebendoinvalid reference \1 on
o erro RHS` do comando s '.