`

vi查找替换命名

 
阅读更多
转自:http://blog.163.com/wchao226@126/blog/static/69514819201053095414526/

一、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 放在命令开头,表示对正文中所有包含搜索字符

                串的行进行替换操作§
分享到:
评论

相关推荐

    VI 使用

    它是Vim(Vi IMproved)的前身,提供了一种命令行界面的文本操作方式,使得用户能够高效地编辑、查找和替换文本。在本文中,我们将深入探讨VI的基本用法、操作模式以及常见命令,帮助你更好地理解和掌握这个强大的...

    Linux vi编辑器使用方法

    3. **底行模式(Last Line Mode)**:主要用于保存文件、退出vi编辑器以及进行一些设置操作,如查找字符串、显示行号等。 在实际使用过程中,底行模式通常被视作命令模式的一部分。 #### 三、vi编辑器的基本操作 ...

    Learn the vi Editor.rar

    vi还支持查找和替换功能。在命令模式下输入'/pattern'向下查找模式,'?'向上查找。要替换匹配的模式,可以使用':s/old/new/g'命令,其中'g'表示全局替换。 学习vi的宏功能可以极大地提高工作效率。通过录制一系列...

    vi命令aaafddafadfaf

    ### VI/Vim 编辑器命令详解 ...这些命令覆盖了基本的光标控制、文本插入、文本删除、文本修改、查找替换、文本复制、撤销重做以及保存和退出等操作。熟练掌握这些命令可以极大地提高使用 vi/vim 进行文本编辑的效率。

    linux操作系统实验vi编辑器的使用.pdf

    - 编辑完成之后,按下`Esc`键退出插入模式,输入`:w`来保存文件,接着输入`:w exam21.txt`将文件命名为`exam21.txt`,最后输入`:q`或`:wq`退出vi编辑器。 **3. 文件内容编辑与保存** - 将以下内容复制到新创建的...

    linux-vi命令

    查找与替换**: - `/`后面加关键词可以搜索文档中的关键词。 - `?`与`/`类似,但反向搜索。 - `n`和`N`用于在搜索结果间向前或向后跳转。 - `:%s/old/new/g`全局替换所有匹配的文本。 - `:%s/old/new/gc`全局替换...

    linux、samba、vi命令大全集合.doc

    2. Vi 命令大全:Vi 命令大全包括插入、删除、复制、粘贴、查找、替换等多种命令。 六、Samba 服务器管理 1. Samba 服务器简介:Samba 是一个开源的文件和打印共享服务器,可以在 Linux 和 Windows 系统之间共享...

    Linux的vi命令[归类].pdf

    14. `:g/text1/s/text2/text3`: 查找包含`text1`的行,用`text3`替换`text2`。 15. `:g/text/command`: 在所有包含`text`的行运行`command`命令。 16. `:v/text/command`: 在所有不包含`text`的行运行`command`命令...

    linux下vi命令大全.pdf

    在Linux操作系统中,`vi`(Visual...这只是`vi`命令大全中的一小部分,实际上`vi`还提供了许多高级功能,如查找与替换、宏录制与播放、可视模式等。学习和熟练掌握`vi`编辑器,将极大地提升你在Linux环境下的工作效率。

    vi 使用指南

    ### VI 编辑器使用指南知识点详解 #### 一、VI 编辑器概述 - **VI**(Visual Editor)是一种强大的文本编辑器,在Linux和其他类Unix系统中广泛使用。 - VI具有三种基本模式:**命令模式**、**输入模式**(也称为...

    linux C编程实战

     2.5.6 文本查找和替换   2.5.7 文本的复制与粘贴   2.6 Emacs编辑器的使用   2.7 命名规范   2.7.1 标识符   2.7.2 关键字   2.7.3 命名规范   2.8 面试题选与实例精讲   2.8.1 面试题选...

    linuxC编程实战.part2.rar(文件已加密)

     2.5.6 文本查找和替换   2.5.7 文本的复制与粘贴   2.6 Emacs编辑器的使用   2.7 命名规范   2.7.1 标识符   2.7.2 关键字   2.7.3 命名规范   2.8 面试题选与实例精讲   2.8.1 面试题选...

    VIM常用命令大全

    - **:ranges/pat1/pat2/g/:m,ns/oldtext/newtext/:&/:g/text1/s/text2/text3/:g/text/command/:v/text/command**: 分别用于替换文本/在m行到n行间替换文本/重复上一个替换命令/查找包含text1的行,用text3替换text2/...

    Tiptop全套教材

    VI是Linux和Unix系统中的一个强大文本编辑器,第二节-vi教材.ppt可能会讲解如何启动和退出VI、基本编辑模式、插入文本、删除文本、查找替换、保存和退出文件等操作。熟练掌握VI,能让你在没有图形界面的情况下也能...

    实验五 Linux 下的SHELL编程(一).docx

    通过不同的操作,可以实现文本的编辑、保存和查找替换等功能。 1. **模式转换** - **命令模式**:默认状态下,vi处于命令模式,可以执行各种编辑命令。 - **输入模式**:在命令模式下按下`i`、`a`、`o`等键,可以...

    linux C编程实战 电子书part2

     2.5.6 文本查找和替换   2.5.7 文本的复制与粘贴   2.6 Emacs编辑器的使用   2.7 命名规范   2.7.1 标识符   2.7.2 关键字   2.7.3 命名规范   2.8 面试题选与实例精讲   2.8.1 面试题选...

    linux C编程实战 电子书part3

     2.5.6 文本查找和替换   2.5.7 文本的复制与粘贴   2.6 Emacs编辑器的使用   2.7 命名规范   2.7.1 标识符   2.7.2 关键字   2.7.3 命名规范   2.8 面试题选与实例精讲   2.8.1 面试题选...

    linux C编程实战 电子书part4

     2.5.6 文本查找和替换   2.5.7 文本的复制与粘贴   2.6 Emacs编辑器的使用   2.7 命名规范   2.7.1 标识符   2.7.2 关键字   2.7.3 命名规范   2.8 面试题选与实例精讲   2.8.1 面试题选...

Global site tag (gtag.js) - Google Analytics