Tôi muốn lấy hai số cuối (một int, một float; theo sau là khoảng trắng tùy chọn) và chỉ in chúng.
Thí dụ:
foo bar <foo> bla 1 2 3.4
Nên in:
2 3.4
Cho đến nay, tôi có những điều sau đây:
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p'
sẽ cho tôi
foo bar <foo> bla 1 replacement
Tuy nhiên, nếu tôi cố gắng thay thế nó bằng nhóm 1, toàn bộ dòng được in.
sed -n 's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p'
Làm cách nào tôi chỉ có thể in phần của dòng phù hợp với biểu thức chính quy trong nhóm?
-r
tùy chọn hoặc `--regrec-Extended` nếu không tôi nhận đượcinvalid reference \1 on
lỗi RHS` của lệnh '.