回答:
!!:gs/search/replace/
表記法を使用して、必要な処理を実行できます。これは、グローバル検索と置換(:gs
)を使用します。
前
$ echo "harm warm swarm barm"
harm warm swarm barm
後
$ !!:gs/arm/orn/
echo "horn worn sworn born"
horn worn sworn born
[subhrcho@slc04lyo pcbpel]$ echo "hat that bat" hat that bat [subhrcho@slc04lyo pcbpel]$ !!:gs/at/xx/ echo "hxx that bat" hxx that bat
。私は何が欠けていますか?
bash --version
= 4.2.45(1)-リリース。
あらゆる出来事^string1^string2
をbash
置き換えるために何かを追加する簡単な方法があるとは思わない。slmが指摘しているように、を書く必要があります!!:gs/string1/string1
。
しかし、zsh
に追加するだけです:G
:
$ echo foo foo
foo foo
$ ^foo^bar^:G
echo bar bar
bar bar
との両方bash
でzsh
、次のfc -s
ように使用することもできます。
$ echo foo foo
foo foo
$ fc -s foo=bar
echo bar bar
bar bar
これは多くの場合、エイリアスと呼ばれるr
ため、次のようにできます。
$ echo foo foo
foo foo
$ r foo=bar
echo bar bar
bar bar
最良の選択肢は「:&」を使用することだと思います
$ echo "dog cat dog"
$ ^dog^cat^:&
echo "cat cat cat"
cat cat cat
:&
command-history
そのためにタグを使用しているようです。追加されました。また、bash
シェルを参照していると思いますか?