次の文字列を置き換える方法
hd_ma_prod_customer_ro:*:123456789:john.doe
ジョンドと
デフォルトでは、最後のコロン(:)を見つけて、その前のすべてのエントリ(含まれている)を削除する必要があります。
ベストアンサー1
実際、最後のコロンまですべてを削除し、そのままにしたいとしますjohn.doe
。
echo 'hd_ma_prod_customer_ro:*:123456789:john.doe' |
sed 's/.*://'
説明する:
最初の行は、例示の目的でテスト文字列をパイプしますsed
。
二つ目は基礎だ。sed
置換。最初と2番目の間の部分は/
検索する正規表現で、2番目と3番目の間の部分は置き換えるアイテムです(この場合は削除中なので何もありません)。
正規表現の場合、.
任意の文字と一致し、*
回数に関係なく繰り返され(0を含む)、:
コロンと一致します。したがって、コロンが続くものは何でもあります。コロンを含めることができるので、一致は.*
「欲張り」であり、最後のコロンまでのすべての項目を含みます。