VI查找与替换

一、vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,

不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了 “/”然后输入你要查找的关键字

敲回车就可以了。如果你要继续查找此关键字,敲字符n就可以继续查找了。值得注意的是“/”是向下查找,而“?”

是向上查找,而在键盘定义上“?”刚好是“/”的上档符.

二、VI替换:vi/vim 中可以使用 :s 命令来替换字符串§以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊飕还有很多需要学习),记录几种在此,方便以后查询§

: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/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

            可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/ 
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

               1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

               2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky 

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky 
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

               3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

               4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

               5. 删除文本中的^M 
              问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示§这样,

将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)

的shell或c程序§

§ 使用命令:cat filename1 | tr -d “^V^M” > newfile; 
§ 使用命令:sed -e “s/^V^M//” filename > outputfilename.需要注意的是在1、2两种方法中,^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

              6. 其它 
              利用 :s 命令可以实现字符串的替换§具体的用法包括:

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

          从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,

表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符

串的行进行替换操作§

转自http://blog.163.com/[email protected]/blog/static/69514819201053095414526/

时间: 2024-08-27 06:02:09

VI查找与替换的相关文章

vi查找替换命令

vi查找替换命令详解 分类: 常用工具技巧 Linux/Unix/BSD2010-07-13 15:05 72075人阅读 评论(2) 收藏 举报 正则表达式vimunixborderwindowsshell 一.查找 查找命令 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter>:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找 N:按照反方向查找 字符串匹配 pattern是需

在 Vim 中优雅地查找和替换 vi【转】

本文转载自:http://harttle.land/2016/08/08/vim-search-in-file.html 总有人问我 Vim 中能不能查找,当然能!而且是超级强的查找! 这篇文章来详细介绍 Vim 中查找相关的设置和使用方法. 包括查找与替换.查找光标所在词.高亮前景/背景色.切换高亮状态.大小写敏感查找等. 查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车. Vim会跳转到第一个匹配.按下n查找下一个,按下N查找上一个. Vim查找支持正则表达式,

vi编辑字符串替换及sed用法

1.vi编辑替换文件中的字符串 :s/nice/good/ 替换当前行第一个 nice为 good :s/nice/good/g 替换当前行所有 nice 为 good :n,$s/nice/good/ 替换第 n 行开始到最后一行中每一行的第一个 nice 为 good :n,$s/nice/good/g 替换第 n 行开始到最后一行中每一行所有 nice 为 good n 为数字,若 n 为 .,表示从当前行开始到最后一行 :%s/nice/good/(等同于 :g/nice/s//good

linux几种常见的文件内容查找和替换命令

作为一个以前没怎么接触过linux的小白,开始使用linux,各种不习惯,这周遇到一个文件内容测查找和替换的需求.学习了以下几种实现方式: 1.vi命令下的查找和替换 1.1 vi下的查找 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter>:向上查找pattern匹配字符串使用了查找命令之后,使用如下两个键快速查找:n:按照同一方向继续查找N:按照反方向查找pattern是需要匹配的字符串,例如:/name<Enter> 

shell中的正则表达式, and和or写法, vim中的查找和替换用法

1. shell中的正则和原生的正则有些许出入, 以下列举了shell中的正则规则: 图中\number 代表前面对应()位置的内容, 类似于python中的命名分组, \对应数字可直接引用括号中内容 2. shell中的正则使用举例: 双括号的额外含义, 其内可使用正则表达式, 并不表示正则必须在双括号中才能执行; [[ 10 =~ ^[0-9]+$ ]] 用于shell中判定是否是数字, 注意正则处不要加引号, 加引号表示字符串匹配; 取反在10前加叹号即可; shell中这些命令都是根据正

Shell脚本学习指南 [ 第三、四章 ] 查找与替换、文本处理工具

摘要:第三章讨论的是编写Shell脚本时经常用到的两个基本操作.第四章总共介绍了约30种处理文本文件的好用工具. 第三章 查找与替换 概括:本章讨论的是编写Shell脚本时经常用到的两个基本操作:文本查找.文本替换. 3.1  查找文本 如需从输入的数据文件中取出特定的文本行,主要的工具为grep程序.POSIX采用三种不同grep变体:grep.egrep.fgrep整合为单个版本,通过不同的选项,分别提供这三种行为模式.who | grep -F root上面使用-F选项,以查找固定字符串r

Linux使用vim进行多文件查找和替换的方法

vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linux平台上,有很多优秀的shell命令组合来做多文件查找/替换,比如这些命令:find,sed,grep,awk,perl.但其他平台比如windows上就没那么方便了,这时候vim内置的多文件查找命令就有用武之地了,虽然比起外部命令来稍微慢了一点. vim 多文件查找 这个vim内置命令就是vimg

Word查找和替换通配符(完全版)

Word查找栏代码·通配符一览表 序号 清除使用通配符复选框 勾选使用通配符复选框 特殊字符 代码 特殊字符 代码or通配符 1 任意单个字符 ^? 任意单个字符 ? 2 任意数字 ^# 任意数字(单个) [0-9] 3 任意英文字母 ^$ 任意英文字母 [a-zA-Z] 4 段落标记 ^p 段落标记 ^13 5 手动换行符 ^l 手动换行符 ^l or ^11 6 图形 ^g or ^1 图形 ^g 7 1/4长划线 ^+ 1/4长划线 ^q 8 长划线 ^j 长划线 ^+ 9 短划线 ^q

大叔手记(1):使用VisualStudio的查找与替换替代默认的系统搜索(转载)

大叔手记(1):使用VisualStudio的查找与替换替代默认的系统搜索 一直以来,一直使用Visual Studio的查找与替换(Find and Replace)来搜索当前项目或整个解决方案里的代码,从来没怎么注意右边的那个选择文件夹功能. 原来还可以选择非解决方案的文件夹,而且试用了一下,速度明显比默认的系统搜索功能快,尤其是在阅读.NET4.0源码的时候,效果真是高啊. 大叔手记:旨在记录日常工作中的各种小技巧与资料(包括但不限于技术) 原文链接 本文由豆约翰博客备份专家远程一键发布