在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
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