ほとんど間違えて、私はあなたが次のようなことができると考えました:
$ cp foo.data bar1.data
$ ^bar1^bar2
そして、それはのbar2.data
代わりに同じコマンドを実行しbar1.data
ます。では、ターゲットワードが複数ある場合はどうでしょうか?例えば:
$ cp foo.data bar.data
$ ^data^index
最初のdata
拡張子のみを置き換えます。両方を置き換えるにはどうすればよいですか?
ほとんど間違えて、私はあなたが次のようなことができると考えました:
$ cp foo.data bar1.data
$ ^bar1^bar2
そして、それはのbar2.data
代わりに同じコマンドを実行しbar1.data
ます。では、ターゲットワードが複数ある場合はどうでしょうか?例えば:
$ cp foo.data bar.data
$ ^data^index
最初のdata
拡張子のみを置き換えます。両方を置き換えるにはどうすればよいですか?
回答:
末尾に^:&を追加することで実行できます。
^:&は2つのオカレンス
を置換します^:g&はすべてを置換します
$ cp foo.data bar.data $ ^ data ^ index ^:& $ cp foo.index bar.index
$ cp foo.data bar.data joe.data doe.data $ ^ data ^ index ^:g& $ cp foo.index bar.index joe.index doe.index
サイドノート:本「コマンドラインkungfu」
では、^:&がすべてを置き換えると書かれています
^:&
は、置換を2回行います。すべてのオカレンスを実行するには、使用します^:g&
(g
「グローバル」の略)。