首页 > 代码库 > vi文本模式下批量修改指定字符串

vi文本模式下批量修改指定字符串

在Vi里面实现字符串的批量替换。

a. 文件内全部替换:

%s#abc#def#g(用def替换文件中所有的abc)

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

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

b. 文件内局部替换:

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

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

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

:%s#linuxidc.com#linuxidc.net#gc

vi文本模式下批量修改指定字符串