任意のテキストの後には、コロン(:
)とスペース、数値結果、別のスペース、およびその他の任意のテキストがあります。たとえば、次のようになります。
text: 30 (5 new)
たとえば、数値を抽出します30
。
30
現在、次のコードのみがあります。
sed 's/.*: //g'
これは私に次のような結果を与えます:
30 (5 new)
私は何を見逃していますか?
ベストアンサー1
式('s/.*: //g'
)は最初の部分を削除し、残りはすべて保持します。これにより、行全体が目的の数字を含む部分に置き換えられます。
sed -re 's/^.*: ([0-9]+) .*$/\1/'
詳細:^.*:
は最初の部分(行の先頭に相当)、番号は次であり、後で使用([0-9]+)
できるグループを定義するために括弧内にあり、最後に最後まで行の残りの部分です。.*$
その後、これを最初のグループに置き換えます(1つのみ)。\1