Saya ingin mengambil dua angka terakhir (satu int, satu float; diikuti oleh spasi opsional) dan hanya mencetaknya.
Contoh:
foo bar <foo> bla 1 2 3.4
Harus mencetak:
2 3.4
Sejauh ini, saya memiliki yang berikut:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
akan memberi saya
foo bar <foo> bla 1 replacement
Namun, jika saya mencoba menggantinya dengan grup 1, seluruh baris dicetak.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Bagaimana saya bisa mencetak hanya bagian dari garis yang cocok dengan regex di grup?
-r
atau `--regexp-extended` jika tidak saya mendapatkaninvalid reference \1 on
error RHS` s's command.