"在vi中进行批量替换" 修訂間的差異
從 YTYZX有图有真相的百科
小 (恢复45.77.171.9(讨论)的编辑至221.122.91.71的最后版本) |
|||
(未顯示由 3 位使用者於中間所作的 13 次修訂) | |||
行 1: | 行 1: | ||
− | 在vi(vim)中可进行批量替换, | + | 在vi(vim)中可进行批量替换,格式为:%s/source_pattern/target_pattern/g,其中source_pattern为原字符,target_pattern为替换后的字符,本例中 将小写t替换为 大写T。 |
1.输入“vim anaconda-ks.cfg”打开一个文件。 | 1.输入“vim anaconda-ks.cfg”打开一个文件。 | ||
行 8: | 行 8: | ||
[[File:ViBatchR2.png]] | [[File:ViBatchR2.png]] | ||
− | == | + | == 替换 每行 所有 符合规则的 字符 == |
3.按两次Esc键确保进入底线命令模式(Last line mode)并输入“:%s/t/T/g”并按回车键确定。 | 3.按两次Esc键确保进入底线命令模式(Last line mode)并输入“:%s/t/T/g”并按回车键确定。 | ||
行 35: | 行 35: | ||
[[File:ViBatchR7.png]] | [[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]] | [[File:ViBatchR9.png]] | ||
− | + | 12.输入“:s/t/T/”并按回车键确定。 | |
[[File:ViBatchR10.png]] | [[File:ViBatchR10.png]] | ||
− | + | 13.替换效果如下,只有第二行的第一个t被替换为T,其他均未替换。 | |
[[File:ViBatchR11.png]] | [[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: | + | [[File:ViBatchR2.png]] |
於 2022年3月24日 (四) 20:25 的最新修訂
在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,其他均未替换。
替換特定行到結尾行第一個符合規則的字符
14.输入“:6,$s/t/T/”并按回车键确定。 备注:此处将第6行到结尾行的第一个“t”替换为“T”,实际使用中可根据需要自行修改开始行数。
15.替换效果如下。 备注:前5行的第一个“t”没有替换为“T”。
替換特定行到結尾行所有符合規則的字符
16.输入“:6,$s/t/T/g”并按回车键确定。 备注:此处将第6行到结尾行的第一个“t”替换为“T”,实际使用中可根据需要自行修改开始行数。
17.替换效果如下。 备注:前5行的“t”没有替换为“T”。
替換包含/的字符
18.如需将“t”替换为“T/”则输入“:%s#t#T/#g”并按回车键确定。 备注:使用#替换/可避免将/识别为分隔符。
19.替换效果如下,所有“t”已经被替换为“T/”。
20.同理可输入“:%s#T/#t#g”将“T/”全局替换为“t”。
21.替换效果如下。