在vi中进行批量替换
来自YTYZX有图有真相的百科
221.122.91.71(讨论)2018年12月2日 (日) 13:38的版本
在vi(vim)中可进行批量替换,脚本格式为:%s/source_pattern/target_pattern/g,其中source_pattern为原字符,target_pattern为替换后的字符,本例中将小写t替换为大写T。
1.输入“vim anaconda-ks.cfg”打开一个文件。 备注:亦可输入“vi anaconda-ks.cfg”。
2.文件内容如下。
替换每行所有符合规则的字符
3.按两次Esc键确保进入底线命令模式(Last line mode)并输入“:%s/t/T/g”并按回车键确定。
4.亦可输入“:g/t/s//T/g”并按回车键确定,结果与上面相同。 备注:注意s后面是两个斜杠。
5.替换效果如下,所有“t”已经被替换为“T”。
替换每行第一个符合规则的字符
6.以上为替换所有行的所有“t”为“T”,如需只替换每行的第一个“t”为“T”,则输入“:%s/t/T/”并按回车键确定。 备注:注意后面没有加g。
7.亦可输入“:g/t/s//T/”并按回车键确定,结果与上面相同。 备注:注意s后面是两个斜杠。
8.替换效果如下,每行的第一个小写t被替换为大写T。
替换光标所在行所有符合规则的字符
9.如需将光标所在行所有t替换为T,则输入“:s/t/T/g”并按回车键确定。
10.替换效果如下,光标所在行所有t已经被替换为T。
替换光标所在行第一个符合规则的字符
11.将光标移动到第二行(即# System authorization information行)。
12.输入“:s/t/T/”并按回车键确定。
13.替换效果如下,只有第二行的第一个t被替换为T,其他均未替换。