【linux系列】vi模式下查找和替换
一、查找
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模式下查找和替换的更多相关文章
- linux基础命令之:vi模式下查找和替换
一.查找 查找命令 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter>:向上查找pattern匹配字符串 使用了查找命令之后,使 ...
- Linux系统vi模式下显示行号
在命令模式下输入:set nu或者:set number都可以为vi设置行号,如果要取消的话,则输入:set nonu行号的设置是vi的环境设置,不会影响文本的内容.
- Linux中在vim/vi模式下对文本的查找和替换
查找: 1.vim filename 进入一般模式下 2.查找和替换方法 /word 向下查找word 的字符串 例如 /chengtingting 向下查找字符chengtingt ...
- linux vi模式下基本命令和快捷键
移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前 ...
- linux find-在指定目录下查找文件
推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find ...
- Linux :vim 模式下的常用命令
[参考文章]:vim 复制一整行 复制多行 1. 查找命令 ?text 查找text,按n健查找下一个,按N健查找前一个 /text 反向查找text,按n健查找下一个,按N健查找前一个 ...
- vi模式下的编辑、删除、保存和退出
vi + 文件名:进入 vi 模式 编辑模式:shift+: 退出编辑模式:Esc 退出编辑模式后可进行光标的上下左右移动(偶尔会出现ABCD,还不知道怎么解决,目前只能出来一个删除一个) 光标处:按 ...
- linux 系统 vi编辑器下的删除
vi filename 进入vi模式 首先 最常用的 dd:删除 光标所在的整行: d1G: 删除光标所在到第一行的所有数据: dG: 删除光标到最后一行的所有数据 : d$:删除光标到 ...
- Linux命令行模式下安装VMware Tools详细步骤
在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Too ...
随机推荐
- ubuntu 14.04 安装中文输入法
记录Ubuntu 14.04 里面安装中文输入法的过程 先安装如下包 sudo apt-get install ibus sudo apt-get install ibus ibus-clutter ...
- [uart]UART中的硬件流控RTS与CTS
转自:http://blog.csdn.net/zeroboundary/article/details/8966586 在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES ) ...
- ftp的主动模式active mode和被动模式 passive mode的配置和区别
ftp的主动模式active mode和被动模式 passive mode的配置和区别 2017年05月08日 17:47:16 阅读数:21768 本文主要记录的是在linux上的区别,弄了一整天才 ...
- CSS(一):CSS简介和基本语法
一.CSS简介 1.什么是CSS CSS:Cascading Style Sheet:即层叠样式表.样式定义了如何显示HTML或XHTML元素.包括对字体.颜色.边距.高度.宽度.背景图片.网页定位等 ...
- anroid 广播
广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast().Context.sendOrderedBroa ...
- android Menu 笔记
菜单是应用中常见的用户组件.本文介绍如何在布局文件和代码中添加menu,submenu以及在代码中添加的方法. 参考链接 https://developer.android.com/guide/top ...
- 第三百零三节,Django框架介绍——用pycharm创建Django项目
Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...
- (转) 打开声音设备需要使用waveOutOpen函数
转自:http://blog.csdn.net/nokianasty/article/details/8558151 打开声音设备 打开声音设备需要使用waveOutOpen函数(可以在您的文档中查到 ...
- (转)Linux下/etc/rc.local与/etc/init.d的区别与联系
Linux下/etc/rc.local与/etc/init.d的区别与联系 2012-10-13 20:14:52| 分类: Linux学习|字号 订阅 1./etc/rc.local 这是 ...
- AngularJS开发经验
AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让 ...