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 编辑器还提供了多种替换命令,包括 :s、:g 等命令。这些命令可以让用户快速地替换文件中的文字或字符串。 Vi 编辑器是一个功能强大、灵活、易于使用的编辑器。它可以满足用户在 UNIX 操作系统中编辑文件的需求。...
在本文中,我们将聚焦于VI编辑器的高级替换命令,这不仅是一种基本技能,更是提升工作效率、解决复杂文本处理问题的关键。 ### VI编辑器的高级替换命令 #### 1. **全局替换命令**:`%s/old_pattern/new_pattern/g`...
VI 所有的命令都在编辑方式下敲入和执行;如果进入插入状态,所有从键盘输入的内容,都将成为正编辑的文件的一部分。 2. 插入文本:插入文本使用命令 i。在文件test中进行插入信息时,键入# vi test,进入编辑方式...
2. 文本输入模式:在末行模式下,输入插入命令 i、附加命令 a、打开命令 o、修改命令 c、取代命令 r 或替换命令 s 都可以进入文本输入模式。在该模式下,用户输入的任何字符都被 vi 当做文件内容保存起来,并将其...
- **块操作**:在可视模式下,按I、A、C等命令可以对选中区域进行批量插入、追加或替换。 - **正则表达式**:在命令模式下,可以用更复杂的正则表达式进行查找和替换。 以上只是vi编辑器部分基础和进阶命令,实际...
### Linux下Vi编辑器命令大全 #### 概述 Vi编辑器是Unix及类Unix操作系统(包括Linux)中广泛使用的文本编辑工具。Vi编辑器具备强大的功能和丰富的命令集,适用于从简单的文本编辑到复杂的脚本编写等多种场景。本文...
根据提供的信息,我们可以总结出关于vi编辑器的重要知识点。Vi(Visual Editor)是Unix系统及其衍生系统上广泛使用的文本编辑工具之一。它以其强大的功能、灵活性以及与命令行的紧密集成而著称。 ### Vi编辑器简介 ...
17. **替换命令** - 替换当前字符: `s` - 替换当前行: `S` - 替换从当前字符开始的n个字符: `ns` 18. **光标定位** - 往右移动到x字符: `fx` - 往左移动到x字符: `Fx` - 往右移动到x字符前: `tx` - 往左...
- **查找与替换命令**: - `/word`:从当前位置开始向前搜索指定的单词`word`。 - `?word`:从当前位置开始向后搜索指定的单词`word`。 - `n`:查找下一个匹配项。 - `N`:查找上一个匹配项。 - `:s/pattern/...
本文将深入探讨Linux的基本命令以及强大的文本编辑器vi(Visual Editor)的使用方法。 首先,让我们了解一些基础的Linux命令。在Linux环境中,命令行是主要的操作界面,通过输入命令来执行各种任务。以下是一些常见...
### Linux 下 Vi 编辑器常用命令详解 #### 一、进入 vi 的命令 1. **vi filename**:此命令用于打开或编辑一个名为 `filename` 的文件,并且默认会进入命令模式。 2. **vi +n filename**:通过这个命令可以打开文件...
搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均...
1. **命令模式**:默认状态下,当你打开vi时,会进入命令模式。在这个模式下,你可以移动光标、删除文本、复制和粘贴等。 2. **插入模式**:在命令模式下输入`i`、`a`、`o`等键,可以进入插入模式,此时可以直接在...
vi命令大全 vi编辑器是 Unix 操作系统中的一种常用的文本编辑器,vi 命令大全是指 vi 编辑器中所有的命令和快捷键的集合。vi 命令大全可以作为参考手册,帮助用户快速掌握 vi 编辑器的使用。 光标移动 * h:将...
搜索及替换命令 * `/pattern`:从光标开始处向文件尾搜索 pattern * `?pattern`:从光标开始处向文件首搜索 pattern * `n`:在同一方向重复上一次搜索命令 * `N`:在反方向上重复上一次搜索命令 * `:s/p1/p2/g`:将...
- 退出vi:在命令模式下输入`:q`,保存并退出则输入`:wq` - 移动光标:使用'h'(左)、'j'(下)、'k'(上)、'l'(右)移动;使用`G`跳至文件末行,`gg`跳至文件首行。 - 插入文本:在命令模式下,按'i'进入插入...
- 替换命令格式为`:n1,n2s/word1/word2/g`,表示在第n1行到n2行之间查找word1并替换为word2,其中`g`代表全局替换。 - 如果需要在每次替换前得到用户确认,可以在替换命令末尾加上`c`,如`:1,$s/word1/word2/gc`。 ...
### VI高级命令集锦详细介绍vi编辑器的使用 在IT领域中,特别是对于那些深入学习UNIX系统的用户来说,掌握vi编辑器的高级命令是至关重要的技能之一。vi编辑器作为UNIX系统中最常用的文本编辑工具之一,其强大的功能...
在命令模式下,VI/VIM 提供了丰富的命令集: 1. **移动光标** - `h` 向左移动一个字符。 - `j` 向下移动一行。 - `k` 向上移动一行。 - `l` 向右移动一个字符。 - `0` 移动到行首。 - `$` 移动到行尾。 - `G...
### Linux VI/VIM 替换命令详解 #### 一、全局替换 在 Linux 的 VI/VIM 编辑器中,可以使用 `:s` 命令进行字符串替换。全局替换指的是在整个文档范围内进行字符串替换。 1. **使用 `v + G + $`** 首先进入可视...