1,138
次編輯
變更
小
56.以上为替换所有行的所有 符合规则的字符 “t”为“T” ,如需只替换每行的第一个 符合规则的字符 “t”为“T”, 则输入“:%s/t/T/” 并按回车键确定 。
在vi(vim)中可进行批量替换, 脚本 格式为:%s/source_pattern/target_pattern/g,其中source_pattern为原字符,target_pattern为替换后的字符 ,本例中将小写t替换为大写T 。
1.输入“vim anaconda-ks.cfg”打开一个文件。
[[File:ViBatchR2.png]]
== 全局 替换 每行 所有 符合规则的 字符 ==
3.按两次Esc键 确保进入底线命令模式(Last line mode) 并输入“:%s/t/T/g”并按回车键 确定 。
[[File:ViBatchR3.png]]
4.亦可输入“:g/t/s//T/g” 并按回车键确定 ,结果与上面相同。 备注:注意s后面是两个斜杠。[[File:ViBatchR5.png]] 45.替换效果如下,所有“t”已经被替换为“T”。
[[File:ViBatchR4.png]]
== 替换每行第一个符合规则的字符 ==
备注:注意后面没有加g。
[[File:ViBatchR6.png]]
7.亦可输入“:g/t/s//T/”并按回车键确定,结果与上面相同。 备注:注意s后面是两个斜杠。 [[File:ViBatchR8.png]] 8.替换效果如下,每行的第一个小写t被替换为大写T。 [[File:ViBatchR7.png]] == 替换光标所在行所有符合规则的字符 == 9.如需将光标所在行所有t替换为T,则输入“:s/t/T/g”并按回车键确定。 [[File:ViBatchR12.png]] 10.替换效果如下,光标所在行所有t已经被替换为T。 [[File:ViBatchR13.png]]== 替换光标所在行第一个符合规则的字符 == 11.将光标移动到第二行(即# System authorization information行)。 [[File:ViBatchR9.png]] 12.输入“:s/t/T/”并按回车键确定。 [[File:ViBatchR10.png]] 13.替换效果如下,只有第二行的第一个t被替换为T,其他均未替换。 [[File:ViBatchR11.png]] == 替换特定行到结尾行第一个符合规则的字符 == 14.输入“:6,$s/t/T/”并按回车键确定。 备注:此处将第6行到结尾行的第一个“t”替换为“T”,实际使用中可根据需要自行修改开始行数。 [[File:ViBatchR14.png]] 15.替换效果如下。 备注:前5行的第一个“t”没有替换为“T”。[[File:ViBatchR15.png]] == 替换特定行到结尾行所有符合规则的字符 == 16.输入“:6,$s/t/T/g”并按回车键确定。 备注:此处将第6行到结尾行的第一个“t”替换为“T”,实际使用中可根据需要自行修改开始行数。 [[File:ViBatchR16.png]] 17.替换效果如下。 备注:前5行的“t”没有替换为“T”。 [[File:ViBatchR17.png]] == 替换包含/的字符 == 18.如需将“t”替换为“T/”则输入“:%s#t#T/#g”并按回车键确定。 备注:使用#替换/可避免将/识别为分隔符。 [[File:ViBatchR18.png]] 19.替换效果如下,所有“t”已经被替换为“T/”。 [[File:ViBatchR19.png]] 20.同理可输入“:%s#T/#t#g”将“T/”全局替换为“t”。 [[File:ViBatchR20.png]] 21.替换效果如下。 [[File:ViBatchR2.png]]