一、查找

1、查找命令

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

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

在使用了查找命令之后,使用如下两个快捷键查找:

n:按照同一方向继续查找

N:按照反方向查找

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

/client_sn<Enter>  #查找client_sn

/ client_sn <Enter>  #查找client_sn单词

除此之外,pattern还可以使用一些通配符,例如(/ ^ $ * .)

二、替换

1、:[range]s/pattern/string/[c,e,g,i]

range指的是范围,1,7指从第一行到第七行,1,$指从第一行至最后一行,也就是整篇文章,也可以使用%代表,%是目前编辑的文章,#是前一次编辑的文章

pattern 就是要被替换掉的字符串,可以用regexp所取代

string 将pattern由string所取代

c  confirm 每次替换前会询问

e 不显示error

g globe不询问整行替换

i  ignore 不分大小写

I  Ignore 大小写敏感

2、基本替换

:s/blue/green/ #替换当前行的第一个blue为green

:s/blue/green/g  #替换当前行所有的blue为green

:n,$s/blue/green  #替换第n行到最后一行中每一行的第一个blue为green

:n,$s/blue/green/g  #替换第n行到最后一行中每一行的所有的blue为green

3、删除文本中的^M

缘由:对于换行,windows下用回车换行来表示,Linux是回车(0A)来表示,这样,将windows上文件拷贝到unix上的时候,总会有个^M,请使用命令过滤unix下windows的换行

使用命令:cat filename 1|tr -d "^V^M" > newfile

使用命令:sed -e "s/^V^M//" filename >outputfilename

在以上两种方法中,^V和^M指的是Ctrl+V和Ctrl+M 必须进行手工输入,而不是进行粘贴

在vi中处理:首先使用vi打开文件,然后按照ESC键,输入命令:

:%s/^V^M//

:%s/^M$//g

如果上述方法无用,则使用

tr -d "/r" <src > dest

tr -d "/015" dest

strings A>B

【linux系列】vi模式下查找和替换的更多相关文章

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

    一.查找 查找命令 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter>:向上查找pattern匹配字符串 使用了查找命令之后,使 ...

  2. Linux系统vi模式下显示行号

    在命令模式下输入:set nu或者:set number都可以为vi设置行号,如果要取消的话,则输入:set nonu行号的设置是vi的环境设置,不会影响文本的内容.

  3. Linux中在vim/vi模式下对文本的查找和替换

    查找: 1.vim  filename  进入一般模式下 2.查找和替换方法 /word    向下查找word 的字符串  例如  /chengtingting   向下查找字符chengtingt ...

  4. linux vi模式下基本命令和快捷键

    移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前 ...

  5. linux find-在指定目录下查找文件

    推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find ...

  6. Linux :vim 模式下的常用命令

    [参考文章]:vim 复制一整行 复制多行 1. 查找命令 ?text    查找text,按n健查找下一个,按N健查找前一个 /text     反向查找text,按n健查找下一个,按N健查找前一个 ...

  7. vi模式下的编辑、删除、保存和退出

    vi + 文件名:进入 vi 模式 编辑模式:shift+: 退出编辑模式:Esc 退出编辑模式后可进行光标的上下左右移动(偶尔会出现ABCD,还不知道怎么解决,目前只能出来一个删除一个) 光标处:按 ...

  8. linux 系统 vi编辑器下的删除

    vi filename 进入vi模式 首先 最常用的   dd:删除 光标所在的整行:      d1G: 删除光标所在到第一行的所有数据: dG: 删除光标到最后一行的所有数据 : d$:删除光标到 ...

  9. Linux命令行模式下安装VMware Tools详细步骤

    在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Too ...

随机推荐

  1. Energy Modes能量管理模式

    1  EM0 运行模式 默认模式; 2  EM1 休眠模式 休眠模式 主处理器停止,片上系统模块运行; 3  EM2 深度休眠 只有异步或低频外设运行; 4  EM3 停止模式 与EM2相比,低频晶振 ...

  2. Android——滚动视图(ScrollView)图片视图(ImageView)、状态开关按钮(ToggleButton)、时钟

    xml <?xml version="1.0" encoding="utf-8"?> <!--滚动视图--> <ScrollVie ...

  3. Mac为nginx安装nginx-sticky-module

    Mac为nginx安装nginx-sticky-module nginx版本: nginx-1.9.8 nginx-sticky-module版本:nginx-sticky-module-ng *注意 ...

  4. asp.net mvc 4 AntiForgery 提供的防伪标记适用于用户“”,但当前用户为“XX” 问题处理记录

    情景:    某页面未登录下可以访问,但具体操作时发现未登录就弹出登录窗,待完成登录后继续操作. 当登录成功,前端继续操作(post后端接口)时发现以下错误:   提供的防伪标记适用于用户“”,但当前 ...

  5. [转]ListView学习笔记(二)——ViewHolder

    在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候, ...

  6. datanode启动失败

    当我动态加入一个hadoop从节点的之后,出现了一个问题: [root@hadoop current]# hadoop-daemon.sh start datanode starting datano ...

  7. 【RMAN】使用RMAN增量备份刷新 Standby Database

    Step 1: Create the Incremental Backup RMAN> BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 750983 D ...

  8. div 背景自适应

    .bg { background: url(images/title_bg.jpg); filter: "progid:DXImageTransform.Microsoft.AlphaIma ...

  9. 去掉CSS中的表达式Expression

    在IE中,CSS是可以嵌入js表达式的,可以在CSS类中定义,但是将含有表达CSS类从DOM对象中移除,样式表达式是不会失效的. 经过研究找到了答案,需要使用js调用style对象的removeExp ...

  10. 关于Cocos2d-x中定时器的使用总结

    1.定义 定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面.时间.进度.敌人的指令等等. cocos2dx为我们提供了定时器schedule相关的操作.其操 ...