`
foo
  • 浏览: 27175 次
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

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命令全 vi 常用命令 unix vi 常用命令 vi 替换命令 unix vi 命令 vi 命令模式

    Vi 编辑器还提供了多种替换命令,包括 :s、:g 等命令。这些命令可以让用户快速地替换文件中的文字或字符串。 Vi 编辑器是一个功能强大、灵活、易于使用的编辑器。它可以满足用户在 UNIX 操作系统中编辑文件的需求。...

    linuxvi替换命令借鉴.pdf

    ### Linux VI/VIM 替换命令详解 #### 一、全局替换 在 Linux 的 VI/VIM 编辑器中,可以使用 `:s` 命令进行字符串替换。全局替换指的是在整个文档范围内进行字符串替换。 1. **使用 `v + G + $`** 首先进入可视...

    VI高级命令用法,用于替换

    在本文中,我们将聚焦于VI编辑器的高级替换命令,这不仅是一种基本技能,更是提升工作效率、解决复杂文本处理问题的关键。 ### VI编辑器的高级替换命令 #### 1. **全局替换命令**:`%s/old_pattern/new_pattern/g`...

    VI高级命令集锦

    17. **替换命令** - 替换当前字符: `s` - 替换当前行: `S` - 替换从当前字符开始的n个字符: `ns` 18. **光标定位** - 往右移动到x字符: `fx` - 往左移动到x字符: `Fx` - 往右移动到x字符前: `tx` - 往左...

    VI快捷命令总结

    搜索及替换命令 * `/pattern`:从光标开始处向文件尾搜索 pattern * `?pattern`:从光标开始处向文件首搜索 pattern * `n`:在同一方向重复上一次搜索命令 * `N`:在反方向上重复上一次搜索命令 * `:s/p1/p2/g`:将...

    VI高级命令集锦详细介绍vi编辑器的使用

    ### VI高级命令集锦详细介绍vi编辑器的使用 在IT领域中,特别是对于那些深入学习UNIX系统的用户来说,掌握vi编辑器的高级命令是至关重要的技能之一。vi编辑器作为UNIX系统中最常用的文本编辑工具之一,其强大的功能...

    VI常用命令汇总......

    五、搜索及替换命令 1. `/pattern`:向前搜索模式`pattern`。 2. `?pattern`:向后搜索模式`pattern`。 3. `n`:重复上一次查找操作。 4. `N`:反向重复上一次查找操作。 5. `:s/pattern/replacement/g`:替换当前...

    linux vi常用命令

    ### Linux VI/VIM 编辑器常用命令详解 在 Linux 和 Unix 类系统中,VI(Visual Editor)编辑器是标准的文本编辑工具,而 VIM(VI Improved)则是其增强版,提供了更多功能和改进。VI/VIM 编辑器因其高效、功能强大...

    vi常用命令汇总.docx

    vi 编辑器常用命令汇总 vi 编辑器是 Linux 操作系统中的一个文本编辑器,具备了丰富的功能,以下是 vi 编辑器常用命令的汇总。 打开文件、保存文件和退出 * 打开文件:vi 文件名 * 打开文件并跳转到指定行号:vi...

    简单的vi命令列表 可以简单参考

    ### 简单的vi命令列表解析 #### 引言 `vi` 是一款功能强大的文本编辑器,广泛应用于各种 Linux 和 Unix 操作系统中。本文将基于提供的标题、描述和部分内文来深入探讨 `vi` 编辑器中的基本编辑指令及其用法。 ###...

    vi快捷键示意图及vi命令详解

    1. **命令模式**:默认状态下,当你打开vi时,会进入命令模式。在这个模式下,你可以移动光标、删除文本、复制和粘贴等。 2. **插入模式**:在命令模式下输入`i`、`a`、`o`等键,可以进入插入模式,此时可以直接在...

    vi编辑命令大全.zip

    这个"vi编辑命令大全.zip"压缩包显然包含了丰富的vi编辑器操作指南,可能分为不同的类别,以帮助用户更深入地理解和掌握这款编辑器。 vi编辑器的工作模式主要有三种:命令模式、插入模式和底行模式。在命令模式下,...

    Vi常用命令手册.pdf

    #### 七、搜索及替换命令 - **`/pattern`**:从光标开始处向文件尾搜索pattern。 - **`?pattern`**:从光标开始处向文件首搜索pattern。 - **`n`**:在同一方向重复上一次搜索命令。 - **`N`**:在反方向上重复上一...

    vi常用命令汇总-2019-11-05.pdf

    文本查找及替换命令在编辑过程中也十分重要。":s/p1/p2/g"命令可以替换当前行中所有的p1为p2;":n1,n2s/p1/p2/g"用于替换指定行数中的文本;":%s/p1/p2/g"命令则用于在整个文档中进行替换。此外,"/pattern"和"?...

    vi命令入门详解.txt

    ### Vi命令入门详解 #### Vi简介 Vi,全称为“Visual interface”,是在Linux系统中极为重要的文本编辑器,类似于DOS系统下的Edit程序。Vi具备强大的文本操作能力,包括但不限于输出、删除、查找、替换、块操作等...

    vi 命令 vi 命令

    - **查找与替换命令**: - `/word`:从当前位置开始向前搜索指定的单词`word`。 - `?word`:从当前位置开始向后搜索指定的单词`word`。 - `n`:查找下一个匹配项。 - `N`:查找上一个匹配项。 - `:s/pattern/...

    常用vi命令的操作

    - 替换命令格式为`:n1,n2s/word1/word2/g`,表示在第n1行到n2行之间查找word1并替换为word2,其中`g`代表全局替换。 - 如果需要在每次替换前得到用户确认,可以在替换命令末尾加上`c`,如`:1,$s/word1/word2/gc`。 ...

Global site tag (gtag.js) - Google Analytics