(小记)vi编辑批量替换的方法

命令模式下

---全局替换

:%s/旧文本/新文本/g

:%s/旧文本/新文本/gc ###交互模式(y-yes,n-no,a-all,q_quit,l-last)

---可视区域替换(单行替换)

:s/旧文本/新文本/g

:s/旧文本/新文本/gc ###交互模式(y-yes,n-no,a-all,q_quit,l-last)

说明:

:%s/旧文本/新文本/g  三个“/”成组出现是分隔符,分割替换前和替换后的字符,不是必须使用“/”的,用三组一样的符号都可以。如%%%、@@@,这个好处是当内容含有/符号时(比如文件路径)不需要进行转义

如将某个文档里面 字符串“bi/user/zhj/test替换成“bi/user/zhj/maint  ,写法如下:

:%s@bi/user/zhj/test@bi/user/zhj/maint@g  -----三个@号成组出现代表分割符号

如果非要转义  写法如下:

:%s/bi\/zhj\/test/bi\/user\/zhj\/maint/g

解释: ‘\’代表转义,看起来很乱也容易错,如果不是非要转义的话建议用@或其他特殊符号

另外,如果不用vi直接将文档内容直接替换,可以用sed命令如下:

sed -i "s/旧内容/新内容/g"  文件名

示例:将 xxxx.txt里面含有“北京”的字符替换成“上海”

sed -i "s/北京/上海/g"  xxxx.txt

欢迎大家一起批评指正,一起交流、一起进步~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值