最佳答案
我想获取最后两个数字(一个 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'
如何只打印与组中的正则表达式匹配的行部分?