Shell替换上一条命令中的字符串
今天学到了一个shell技巧:替换上一条执行过的命令中的字符串。
示例如下
~/tmp$ ls d.cpio
d.cpio
~/tmp$ ^cpio^tar
ls d.tar
d.tar解释一下:
- 首先执行
ls d.cpio - 然后输入
^cpio^tar把ls d.cpio中的cpio替换成tar,然后执行替换后的命令。
上面的命令只能替换第一次出现的字符串,如果想替换所有的字符串,则需要使用如下命令:
➜ ~ $ ls d.cpio c.cpio
➜ ~ $ !!:gs/cpio/tar
➜ ~ $ ls d.tar c.tar
➜ ~ $
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。