Linux下的vi编辑命令中查·替换详解
⼀、查
查命令
/pattern<Enter> :向下查pattern匹配字符串
pattern<Enter>:向上查pattern匹配字符串
使⽤了查命令之后,使⽤如下两个键快速查:
n:按照同⼀⽅向继续查
N:按照反⽅向查
字符串匹配
pattern是需要匹配的字符串,例如:
linux vi命令详解菜鸟教学1/abc<Enter> #查abc
除此之外,pattern还可以使⽤⼀些特殊字符,包括(/、^、$、*、.),其中前三个这两个是vi与vim通⽤的,“/”为转义字符。
1 2 3/^abc<Enter> #查以abc开始的⾏/abc$<Enter> #查以abc结束的⾏ //^abc<Enter> #查^abc字符串
⼆、替换 基本替换
1 2 3 4 5 6:s/vivian/sky/#替换当前⾏第⼀个 vivian 为 sky
:s/vivian/sky/g#替换当前⾏所有 vivian 为 sky
:n,$s/vivian/sky/#替换第 n ⾏开始到最后⼀⾏中每⼀⾏的第⼀个 vivian 为 sky
:n,$s/vivian/sky/g#替换第 n ⾏开始到最后⼀⾏中每⼀⾏所有 vivian 为 sky
(n 为数字,若 n 为 .,表⽰从当前⾏开始到最后⼀⾏)
:%s/vivian/sky/#(等同于:1,$s/vivian/sky/ :g/vivian/s//sky/)替换每⼀⾏的第⼀个 vivian 为 sky
1:%s/vivian/sky/g#(等同于:1,$s/vivian/sky/g :g/vivian/s//sky/g)替换每⼀⾏的所有 vivian 为 sky
可以使⽤ #或+ 作为分隔符,此时中间出现的 / 不会作为分隔符
1 2:s#vivian/#sky/# 替换当前⾏第⼀个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+ (使⽤+ 来替换 / ): /oradata/apras/ 替换成 /user01/apras1/
例如:
1 2 3 4 5:s/str1/str2/#⽤字符串 str2 替换⾏中⾸次出现的字符串 str1
:s/str1/str2/g#⽤字符串 str2 替换⾏中所有出现的字符串 str1
:.,$ s/str1/str2/g#⽤字符串 str2 替换正⽂当前⾏到末尾所有出现的字符串 str1 :1,$ s/str1/str2/g#⽤字符串 str2 替换正⽂中所有出现的字符串 str1
:g/str1/s//str2/g#功能同上
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论