Linux Vi文本编辑中的常用命令之批量替换

回复 星标
更多
Linux Vi文本编辑中的常用命令之批量替换
.
.
.
.
.
.

vi这个命令在linux里面经常会用到,今天我们就来学习一下怎么在vi里面实现字符串的批量替换。

a. 文件内全部替换:

%s#abc#def#g

(用def替换文件中所有的abc)

例如把一个文本文件里面的“xwen.com”全部替换成“xwen.net”:

:%s#xwen.com#xwen.net#g

(如文件内有#,可用/替换,比如:%s/xwen.com/xwen.net/g)

b. 文件内局部替换:

把10行到50行内的“abc”全部替换成“def”

:10,50s#abc#def#g

(如文件内有#,可用/替换,:%s/abc/def/g)

以上命令如果在g后面再加上c,则会在替换之前显示提示符给用户确认(conform)是否需要替换。

比如

:%s#xwen.com#xwen.net#gc
新窗口打开 关闭