Я хочу захопити два останніх числа (один int, один float; далі - необов’язковий пробіл) і надрукувати лише їх.
Приклад:
foo bar <foo> bla 1 2 3.4
Слід надрукувати:
2 3.4
Поки що у мене є таке:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
дасть мені
foo bar <foo> bla 1 replacement
Однак якщо я спробую замінити його групою 1, друкується весь рядок.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Як я можу надрукувати лише той розділ рядка, який відповідає регулярному вираженню в групі?
-r
або - --regexp-extension`, інакше я отримувавinvalid reference \1 on
помилку RHS команди команди '.