Почти по ошибке я понял, что вы можете сделать что-то вроде:
$ cp foo.data bar1.data
$ ^bar1^bar2
И это выполняет ту же команду с bar2.data
вместо bar1.data
. Теперь, как насчет того, если у меня есть несколько вхождений целевого слова? Например:
$ cp foo.data bar.data
$ ^data^index
Он заменяет только первое data
расширение. Как мне заставить его заменить оба?
linux
command-line
bash
Бельмин Фернандес
источник
источник
Вы можете сделать это, добавив ^: & в конец.
^: & заменит два вхождения
^: g & заменит все
sidenote: в книге «Командная строка Kungfu»
говорится, что ^: & заменит все
источник
^:&
сделаю замену дважды . Чтобы сделать все вхождения, используйте^:g&
(g
расшифровывается как «глобальный»).