Linux下的vi编辑命令中查找·替换详解

转载 2018年04月17日 15:33:15

一、查找 

查找命令 

/pattern<Enter> :向下查找pattern匹配字符串 
?pattern<Enter>:向上查找pattern匹配字符串 

使用了查找命令之后,使用如下两个键快速查找: 
n:按照同一方向继续查找 
N:按照反方向查找 

字符串匹配 

pattern是需要匹配的字符串,例如:

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      #功能同上

linux基础命令之:vi模式下查找和替换

一、查找 查找命令 /pattern :向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找 N...
  • BabyFish13
  • BabyFish13
  • 2016-01-20 14:46:40
  • 6599

vi vim 查找和替换字符串 命令

一、vi查找:           当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕...
  • doubleface999
  • doubleface999
  • 2017-02-19 09:15:48
  • 7225

Linux下vi替换字符命令操作实例

在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁。        本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字符命令,为相关的开发工作...
  • zhouzxi
  • zhouzxi
  • 2014-06-05 18:44:12
  • 2825

学习vi和vim编辑器(8):全局替换(1)

本章学习vi编辑器中的全局替换命令。通过全局替换命令,可以自动替换文件中所有出现过的某个单词。全局替换一般会用到两个ex命令:" :g "(global,全局)," :s "(substitute,替...
  • fuchencong
  • fuchencong
  • 2014-12-27 14:42:51
  • 3504

Linux-Vim编辑器之查找与替换

一字符的替换及撤销Undo操作 二快速缩进及调整文本位置 三字符查找 一、字符的替换及撤销(Undo操作) - Change Delete Ya...
  • bananasssss
  • bananasssss
  • 2016-09-18 14:55:36
  • 1647

vi中查找和替换文字

vi中查找和替换文字来源:电脑维修技术网 作者:电脑知识 时间:2013-10-29 19:43 我来投稿 参与评论点击:次本文关键字: vi文章目录索引(?) [-] 文章简介 演示系统及适用范围 ...
  • jklfjsdj79hiofo
  • jklfjsdj79hiofo
  • 2014-05-22 17:25:32
  • 2466

CentOS之VI编辑器的常用命令

一.vi的模式 命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点 输入模式:即文本辑辑状态,最后一行显示"-- INSERT...
  • u012110719
  • u012110719
  • 2015-07-18 22:46:40
  • 6344

VIM中如何进行查找和替换

VIM中字符串的查找和替换
  • rickzzz16
  • rickzzz16
  • 2017-06-15 15:43:00
  • 5920

vi部分命令. 替换操作; 文本格式转换; 在整个文件中替换; 在行首尾添加字符串.

 vi部分命令转自:gerry.wu Windows Live Spaces注意,其中“s”为表示替换动作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行尾。在文件的第一行或其5行至最...
  • xkb_surfing
  • xkb_surfing
  • 2006-09-12 20:47:00
  • 2990

VI编辑器中查找/替换命令的使用!

From the Dr. Strangelove, or How I Learned to Love the vi Editor file: Although difficult to learn, ...
  • yakoo5
  • yakoo5
  • 2015-01-13 17:13:03
  • 1470
收藏助手
不良信息举报
您举报文章:Linux下的vi编辑命令中查找·替换详解
举报原因:
原因补充:

(最多只允许输入30个字)