次に示すように、「ピリオドアスタリスク」のすべての出現箇所を置き換える必要があります:
blah blah .*:.*:.* blah blah
with:
[0-9][0-9]:[0-9][0-9]:[0-9][0-9]
最終結果は次のようになります:
blah blah [0-9][0-9]:[0-9][0-9]:[0-9][0-9] blah blah
次のさまざまなバリエーションを試しましたが、機能しませんでした:
%s_ .*:.*:.* _ [0-9][0-9]:[0-9][0-9]:[0-9][0-9] _g
回答
「ピリオドアスタリスク」がコロンで区切られて3回繰り返される行の例を示しました。データが常にそのように見える場合は、 AlexPの回答。しかし、あなたの質問は、「ピリオドアスタリスク」のすべての出現箇所を置き換える必要があると述べています。そのステートメントの場合問題は正確です。
:%s/\.\*/[0-9][0-9]/g
を使用する必要があります。これにより、3つのグループに表示されない場合でも、「ピリオドアスタリスク」が検出されて置き換えられます。
回答
Vimの場合:
sed
の場合:sed -e "s/\.\*:\.\*:\.\*/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/g"
。
-
%
は、すべての行に置換を適用することを意味します。sed
では必要ありません。デフォルトでは、コマンドはすべての行に適用されます。 -
\.
はピリオドです。裸の.
は任意の文字を意味します。 -
\*
はアスタリスクです。裸の*
は、先行するアトムが0個以上あることを意味します。
回答
Vimのパターンにnomagic
修飾子を使用する:
:%s/\M.*/[0-9][0-9]/g
\M
は、パターン内の.
と*
の両方の特殊性を削除します。
を参照してください。 Vimの:help magic
。