![如果 ^a^b 在最后一个命令中替换了一次“a”,那么我用什么来替换所有出现的“a”?](https://linux22.com/image/19260/%E5%A6%82%E6%9E%9C%20%5Ea%5Eb%20%E5%9C%A8%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E4%B8%AD%E6%9B%BF%E6%8D%A2%E4%BA%86%E4%B8%80%E6%AC%A1%E2%80%9Ca%E2%80%9D%EF%BC%8C%E9%82%A3%E4%B9%88%E6%88%91%E7%94%A8%E4%BB%80%E4%B9%88%E6%9D%A5%E6%9B%BF%E6%8D%A2%E6%89%80%E6%9C%89%E5%87%BA%E7%8E%B0%E7%9A%84%E2%80%9Ca%E2%80%9D%EF%BC%9F.png)
在 bash 中,如果我运行以下命令:
echo aaaaaaa
我明白了aaaaaaa
(呃)
但如果我输入
^a^b
我最终得到baaaaaa
我会输入什么来结束bbbbbbb
?
答案1
在 bash 中,我认为您不能将^
快捷方式与任何修饰符结合使用。剩下的就是长形式:
!!:gs/a/b/
在 zsh 中,G
修饰符是一种特殊情况,您可以将其与以下命令一起使用^
:
^a^b^:G
答案2
^search^replacement
是 的语法糖!:s/search/replacement/
,解释于这个答案。替换所有实例的版本是!:gs/search/replacement/
;我认为这是最短的形式