Linux vi 全局替换 global replace

2017-07-21  本文已影响39人  ShawnDu

原文地址

Linux vi 全局替换 global replace

语法及命令

语法为 :[addr]s/源字符串/目的字符串/[option]
全局替换命令为::%s/源字符串/目的字符串/g
最常用的全局替换,把cc7799替换成009944,可这样写:

:%s/cc7799/009944/g

参数讲解

[addr] 表示检索范围,省略时表示当前行。

[option] : 表示操作类型

下面是一些例子:

:%s/\(That\) or \(this\)/\u\2 or \l\1/
:%s/child\([ ,.;!:?]\)/children\1/g
:g/mg\([ira]\)box/s//mg//my\1square/g    <=>  :g/mg[ira]box/s/box/square/g
:%s/  */ /g
:%s/\([:.]\)  */\1 /g
:g/^$/d
:g/^[  ][  ]*$/d
:%s/^/>  /
:.,5/$/./
:g/.*/m0O  <=> :g/^/m0O

— 寻找不是数字的开始行,并将其移到文件尾部

:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
:1,10g/^/12,17t$
:g/^chapter/.+2w>>begin
:/^part2/,/^part3/g/^chapter/.+2w>>begin
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$

原文地址

上一篇 下一篇

猜你喜欢

热点阅读