`
haiziwoainixx
  • 浏览: 415101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 "5" 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 操作系统中编辑文件的需求。...

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

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

    文件编辑器vi的操作命令

    VI 所有的命令都在编辑方式下敲入和执行;如果进入插入状态,所有从键盘输入的内容,都将成为正编辑的文件的一部分。 2. 插入文本:插入文本使用命令 i。在文件test中进行插入信息时,键入# vi test,进入编辑方式...

    vi编辑器命令速查~~

    2. 文本输入模式:在末行模式下,输入插入命令 i、附加命令 a、打开命令 o、修改命令 c、取代命令 r 或替换命令 s 都可以进入文本输入模式。在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其...

    vi常用的命令壁纸

    - **块操作**:在可视模式下,按I、A、C等命令可以对选中区域进行批量插入、追加或替换。 - **正则表达式**:在命令模式下,可以用更复杂的正则表达式进行查找和替换。 以上只是vi编辑器部分基础和进阶命令,实际...

    linux下Vi编辑器命令大全

    ### Linux下Vi编辑器命令大全 #### 概述 Vi编辑器是Unix及类Unix操作系统(包括Linux)中广泛使用的文本编辑工具。Vi编辑器具备强大的功能和丰富的命令集,适用于从简单的文本编辑到复杂的脚本编写等多种场景。本文...

    vi命令 vi命令 vi命令

    根据提供的信息,我们可以总结出关于vi编辑器的重要知识点。Vi(Visual Editor)是Unix系统及其衍生系统上广泛使用的文本编辑工具之一。它以其强大的功能、灵活性以及与命令行的紧密集成而著称。 ### Vi编辑器简介 ...

    VI高级命令集锦

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

    vi 命令 vi 命令

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

    linux基本命令以及linux下vi命令大全

    本文将深入探讨Linux的基本命令以及强大的文本编辑器vi(Visual Editor)的使用方法。 首先,让我们了解一些基础的Linux命令。在Linux环境中,命令行是主要的操作界面,通过输入命令来执行各种任务。以下是一些常见...

    linux下Vi编辑器常用命令

    ### Linux 下 Vi 编辑器常用命令详解 #### 一、进入 vi 的命令 1. **vi filename**:此命令用于打开或编辑一个名为 `filename` 的文件,并且默认会进入命令模式。 2. **vi +n filename**:通过这个命令可以打开文件...

    vi技巧大全命令大全

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

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

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

    vi命令大全(VI快捷键整理)

    vi命令大全 vi编辑器是 Unix 操作系统中的一种常用的文本编辑器,vi 命令大全是指 vi 编辑器中所有的命令和快捷键的集合。vi 命令大全可以作为参考手册,帮助用户快速掌握 vi 编辑器的使用。 光标移动 * h:将...

    VI快捷命令总结

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

    linux 常用命令 vi命令

    - 退出vi:在命令模式下输入`:q`,保存并退出则输入`:wq` - 移动光标:使用'h'(左)、'j'(下)、'k'(上)、'l'(右)移动;使用`G`跳至文件末行,`gg`跳至文件首行。 - 插入文本:在命令模式下,按'i'进入插入...

    常用vi命令的操作

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

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

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

    linux vi常用命令

    在命令模式下,VI/VIM 提供了丰富的命令集: 1. **移动光标** - `h` 向左移动一个字符。 - `j` 向下移动一行。 - `k` 向上移动一行。 - `l` 向右移动一个字符。 - `0` 移动到行首。 - `$` 移动到行尾。 - `G...

    linuxvi替换命令借鉴.pdf

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

Global site tag (gtag.js) - Google Analytics