最後の2つの数値(1つはint、1つは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-extended`オプションを追加する必要がありました。そうしないと、invalid reference \1 on
s 'コマンドのRHS` エラーが発生しました。