"在vi中进行批量替换" 修訂間的差異

從 YTYZX有图有真相的百科
跳到: 導覽搜尋
行 1: 行 1:
 在vi(vim)中可进行批量替换,脚本格式为:%s/source_pattern/target_pattern/g,其中source_pattern为原字符,target_pattern为替换后的字符,本例中 大写T 替换小写t
+
 在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”并按回车键确定。

於 2018年12月1日 (六) 19:46 的修訂

在vi(vim)中可進行批量替換,腳本格式為:%s/source_pattern/target_pattern/g,其中source_pattern為原字符,target_pattern為替換後的字符,本例中將小寫t替換為大寫T。

1.输入“vim anaconda-ks.cfg”打开一个文件。
  备注:亦可输入“vi anaconda-ks.cfg”。

ViBatchR1.png

2.文件内容如下。

ViBatchR2.png

替換每行所有符合規則的字符

3.按两次Esc键确保进入底线命令模式(Last line mode)并输入“:%s/t/T/g”并按回车键确定。

ViBatchR3.png

4.亦可输入“:g/t/s//T/g”并按回车键确定,结果与上面相同。
  备注:注意s后面是两个斜杠。

ViBatchR5.png

5.替换效果如下,所有“t”已经被替换为“T”。

ViBatchR4.png

替換每行第一個符合規則的字符

6.以上为替换所有行的所有“t”为“T”,如需只替换每行的第一个“t”为“T”,则输入“:%s/t/T/”并按回车键确定。
  备注:注意后面没有加g。

ViBatchR6.png

7.亦可输入“:g/t/s//T/”并按回车键确定,结果与上面相同。
  备注:注意s后面是两个斜杠。

ViBatchR8.png

8.替换效果如下,每行的第一个小写t被替换为大写T。

ViBatchR7.png

替換光標所在行第一個符合規則的字符

9.将光标移动到第二行(即# System authorization information行)。

ViBatchR9.png

10.输入“:s/t/T/”并按回车键确定。

ViBatchR10.png

11.替换效果如下,只有第二行的第一个t被替换为T,其他均未替换。

ViBatchR11.png

替換光標所在行所有符合規則的字符

12.如需将光标所在行所有t替换为T,则输入“:s/t/T/g”并按回车键确定。

ViBatchR12.png