扩展命令模式:查找与替换
查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
替换
s: 在扩展模式下完成查找替换操作
格式:s/要查找的内容/替换为的内容/修饰符
1,10s/bash/csh---将第1到第10行的bash替换为csh
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
%s@([#])@#\1@=%s@[#]@#&@
以上两种方式结果都一样。
上图应该为:%s/\(haha\)/\1er/
修饰符:
i: 忽略大小写
g: 全局替换;默认情况下,每一行只替换第一次出现
1,3s/bin/sbin/g:默认只替换第一次出现的,加上g后会全部替换
gc:全局替换,每次替换前询问
%s:全文替换
查找替换中的分隔符/可替换为其它字符,例如
s@/etc@/var@g
s//bin//usr/bin/=s@/bin@/usr/bin(用@就不需要转义了)@:将/bin替换为/usr/bin(使用""转义)
s#/boot#/#i