Chcę pobrać dwie ostatnie liczby (jedną int, jedną zmiennoprzecinkową; po której następuje opcjonalna spacja) i wypisać tylko je.
Przykład:
foo bar <foo> bla 1 2 3.4
Powinien wydrukować:
2 3.4
Jak dotąd mam:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
da mi
foo bar <foo> bla 1 replacement
Jeśli jednak spróbuję zastąpić ją grupą 1, drukowany jest cały wiersz.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Jak wydrukować tylko tę sekcję wiersza, która pasuje do wyrażenia regularnego w grupie?