`
ljhupahu
  • 浏览: 33799 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

linux: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://soft.chinabyte.com/374/7749874.shtml
分享到:
评论

相关推荐

    vi命令全 vi 常用命令 unix vi 常用命令 vi 替换命令 unix vi 命令 vi 命令模式

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

    linux下vi简单命令介绍

    ### 替换命令 - **s/p1/p2/g**:将当前行中的所有 p1 替换成 p2。 - **n1,n2s/p1/p2/g**:将第 n1 行到第 n2 行中的所有 p1 替换成 p2。 - **g/p1/s//p2/g**:在所有包含 p1 的行中将 p1 替换成 p2。 - **allg/p1/s...

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

    以下是一些常见的Linux基本命令: 1. **ls**:列出目录内容,用于查看当前目录下的文件和子目录。 2. **cd**:改变目录,用于切换到不同的目录路径。 3. **pwd**:打印工作目录,显示当前所在的目录。 4. **touch**...

    linux 常用命令 vi命令

    本文将主要聚焦于“vi”命令,一个强大的文本编辑器,以及与之相关的其他Linux命令。 **一、vi编辑器** vi(Visual Editor)是Linux和Unix系统中的一个全屏文本编辑器,它的全名是“Visual Editor for the Third ...

    Linux应用技术:Linux常用命令与VI文件编辑器.docx

    ### Linux应用技术:Linux常用命令与VI文件编辑器 #### 实验目的 本实验旨在让学员熟练掌握Linux操作系统的基本操作,包括常用的文件和目录管理命令以及如何使用VI编辑器进行文本文件的创建与编辑。 #### 实验内容...

    linux下vi命令总结

    ### Linux 下 vi 编辑器命令总结 #### 一、基本导航命令 在 Linux 的 vi 编辑器中,熟练掌握导航命令对于提高编辑效率至关重要。 - **移动光标** - `h`:向左移动一个字符。 - `j`:向下移动一行。 - `k`:...

    Linux vi命令用法

    然后可以使用以下命令: - `:w` 保存文件但不退出。 - `:wq` 或 `:x` 保存文件并退出。 - `:q` 试图不保存退出,如果文件被修改过,会提示确认。 - `:q!` 不保存文件强制退出。 总的来说,掌握vi的命令用法对于日常...

    linuxvi替换命令借鉴.pdf

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

    linux_vi 命令

    ### Linux Vi 命令详解 #### 一、Vi 编辑器基本概念 Vi(Visual editor)是一种广泛应用于Linux及Unix系统中的文本编辑器。它最初由Bill Joy开发,并随同BSD Unix一起发布,逐渐成为了许多用户进行文本编辑的标准...

    linux下Vi编辑器常用命令

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

    linux vi 常用命令

    ### Linux VI 常用命令详解 #### 一、VI编辑器概述 VI(Visual Editor)是Unix/Linux系统中最常见的文本编辑器之一。对于初学者来说,VI的学习曲线较为陡峭,但掌握后能极大地提高工作效率。本文将详细介绍VI编辑器...

    vi.rar_linux_linux VI_linux 命令_vi_vi linux

    以下是一些常见的`vi`命令: 1. **移动光标**: - `h`:向左移动一字符。 - `j`:向下移动一行。 - `k`:向上移动一行。 - `l`:向右移动一字符。 - `0`(数字零):移动到当前行的首字符。 - `$`:移动到...

    linux下Vi编辑器命令大全

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

    linux vi命令集合

    ### Linux Vi命令集合详解 #### 一、Vi编辑器简介 Vi(Visual editor)是Unix/Linux系统中的标准文本编辑器,具有强大的文本编辑功能。它最初由Bill Joy为Unix系统开发,随后被移植到多种操作系统上。对于学习...

    Linux-vi操作命令

    此外,vi还提供了翻页移动光标的命令: - [Ctrl]+f:向前翻一页 - [Ctrl]+b:向后翻一页 定位光标的命令还有: - ^(或0):移动光标到当前行的第一个非空白字符 - $:移动光标到当前行的行尾 - G:移动到文件的...

    linux vi常用命令

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

    Linux下Vi命令详解.pdf

    Linux下Vi命令详解的知识点涵盖了文本编辑器Vi/Vim的使用方法和技巧。Vi是一个功能强大的文本编辑器,在Linux系统中广泛应用,具备高效的编辑能力。Vim是Vi的增强版,提供了更多的功能和扩展性。 首先,Vi有三种...

    linux vi命令大全

    **替换命令** - `/pattern`:在文件中搜索包含`pattern`的行。 - `?pattern`:反向搜索包含`pattern`的行。 - `n`:向下查找下一个匹配项。 - `N`:向上查找下一个匹配项。 - `s/p1/p2/g`:将当前行中的所有`p1`...

    linux上vi编辑器常用命令

    #### 七、搜索与替换命令 - **/pattern**:从光标位置开始向文件末尾搜索`pattern`。 - **?pattern**:从光标位置开始向文件开头搜索`pattern`。 - **n**:在相同的方向重复上一次的搜索命令。 - **N**:在相反的...

Global site tag (gtag.js) - Google Analytics