"在vi中进行批量替换" 修訂間的差異
從 YTYZX有图有真相的百科
行 1: | 行 1: | ||
− | 在vi(vim)中可进行批量替换,脚本格式为:%s/source_pattern/target_pattern/g,其中source_pattern为原字符,target_pattern为替换后的字符。 | + | 在vi(vim)中可进行批量替换,脚本格式为:%s/source_pattern/target_pattern/g,其中source_pattern为原字符,target_pattern为替换后的字符 ,本例中以大写T替换小写t 。 |
1.输入“vim anaconda-ks.cfg”打开一个文件。 | 1.输入“vim anaconda-ks.cfg”打开一个文件。 | ||
行 10: | 行 10: | ||
== 全局替换所有字符 == | == 全局替换所有字符 == | ||
− | 3.按两次Esc键并输入“:%s/t/T/g”并按回车键。 | + | 3.按两次Esc键 确保进入底线命令模式(Last line mode) 并输入“:%s/t/T/g”并按回车键 确定 。 |
[[File:ViBatchR3.png]] | [[File:ViBatchR3.png]] | ||
− | 4.亦可输入“:g/t/s//T/g”,结果与上面相同。 | + | 4.亦可输入“:g/t/s//T/g” 并按回车键确定 ,结果与上面相同。 |
备注:注意s后面是两个斜杠。 | 备注:注意s后面是两个斜杠。 | ||
[[File:ViBatchR5.png]] | [[File:ViBatchR5.png]] | ||
行 21: | 行 21: | ||
== 替换每行第一个符合规则的字符 == | == 替换每行第一个符合规则的字符 == | ||
− | 6.以上为替换所有行的所有“t”为“T”,如需只替换每行的第一个“t”为“T”,则输入“:%s/t/T/”。 | + | 6.以上为替换所有行的所有“t”为“T”,如需只替换每行的第一个“t”为“T”,则输入“:%s/t/T/” 并按回车键确定 。 |
备注:注意后面没有加g。 | 备注:注意后面没有加g。 | ||
[[File:ViBatchR6.png]] | [[File:ViBatchR6.png]] | ||
− | 7.亦可输入“:g/t/s//T/”,结果与上面相同。 | + | 7.亦可输入“:g/t/s//T/” 并按回车键确定 ,结果与上面相同 。 |
+ | 备注:注意s后面是两个斜杠 。 | ||
[[File:ViBatchR8.png]] | [[File:ViBatchR8.png]] | ||
行 33: | 行 34: | ||
[[File:ViBatchR7.png]] | [[File:ViBatchR7.png]] | ||
+ | |||
+ | == 替换光标所在行第一个符合规则的字符 == | ||
+ | |||
+ | 9.将光标移动到第二行(即# System authorization information行)。 | ||
+ | |||
+ | [[File:ViBatchR9.png]] | ||
+ | |||
+ | 10.输入“:s/t/T/”并按回车键确定。 | ||
+ | |||
+ | [[File:ViBatchR10.png]] | ||
+ | |||
+ | 11.替换效果如下,只有第二行的第一个t被替换为T,其他均未替换。 | ||
+ | |||
+ | [[File:ViBatchR11.png]] | ||
+ | |||
+ | == 替换光标所在行所有符合规则的字符 == | ||
+ | |||
+ | 12.如需将光标所在行所有t替换为T,则输入“:s/t/T/g”并按回车键确定。 | ||
+ | |||
+ | [[File:ViBatchR12.png]] |
於 2018年12月1日 (六) 19:44 的修訂
在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.将光标移动到第二行(即# System authorization information行)。
10.输入“:s/t/T/”并按回车键确定。
11.替换效果如下,只有第二行的第一个t被替换为T,其他均未替换。
替換光標所在行所有符合規則的字符
12.如需将光标所在行所有t替换为T,则输入“:s/t/T/g”并按回车键确定。