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" 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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
相关推荐
2. **替换字符串**: ``` :%s/Vim/VIM/g ``` 3. **删除^M字符**: ``` :%s/^M$//g ``` 4. **保存并退出**: - 按下`Esc`键回到命令模式。 - 输入`:wq`来保存更改并退出Vim。 #### 六、总结 通过本文的...
LINUX vim替换字符串指令 本文档主要介绍了在 LINUX 环境下使用 vim 编辑器时,如何使用 `s` 命令来替换字符串。本文档共四页,涵盖了多种使用 `s` 命令的方式,包括基本用法、使用分隔符、删除文本中的换行符等...
Vi/Vim作为Linux系统中最常用的文本编辑器之一,提供了强大的文本处理功能,使得批量替换字符串变得非常简单高效。 #### 一、通过vi编辑器来替换 在vi/vim编辑器中,可以通过`:s`命令来实现字符串的替换。下面详细...
4. **文本编辑器中的查找功能**:像Vim、Emacs这样的高级文本编辑器内置了强大的字符串查找和替换功能,可以进行逐行搜索、在整个文件中查找,甚至在整个项目中查找。 5. **编程语言中的字符串查找**:在各种编程...
3. 字符串替换:我们学习了如何在 Vim 中替换指定字符串,例如将 55~100 行的 man 字符串改为大写 MAN 字符串。 4. 复制和粘贴:我们学习了如何在 Vim 中复制和粘贴内容,例如复制 77~88 行的内容,并且粘贴到最后...
- 使用`#`作为分隔符,如`:s#old#new#`,可以避免在替换字符串中出现的`/`字符造成干扰。 - `:s+/oradata/apras/+/user01/apras1+` 使用`+`替代`/`作为分隔符,方便替换包含`/`的字符串。 3. 删除文本中的^M: ...
在:s命令中,如果使用“~”作为查找模式,将替换最后一次执行:s命令时使用的替换字符串。 5. 删除或转换DOS回车符^M: 在处理从DOS系统转换而来的文本文件时,常常会出现^M(即\r),使用%s/\r//g命令可以删除所有...
* 搜索和搜索替换命令:%s/old/new 全文替换指定字符串,%s 代表整个全文,把 old 字符串替换成 new 字符串 二、vim 使用技巧 2.1 简单技巧 * 导入命令执行结果到文件:r! 命令,如:r!date 就能把时间直接打印到...
7. **替换字符串**:使用`50,100s/[man]/MAN/gc`在50到100行间查找`[man]`并提示替换为`[MAN]`。连续按`y`确认替换,最后用`:print`查看结果,会显示修改次数。 8. **撤销修改**:在Vim中,`u`用于撤销最近一次操作...
首先,`c.vim`和`cpp.vim`是Vim的语法定义文件,它们定义了如何识别和突出显示C和C++代码中的各种元素,如关键字、注释、字符串、常量以及函数和类名称。通过替换默认的文件,你可以定制Vim对这些语言的语法高亮,...
- `:s/原字符串/新字符串/g`替换当前行中的所有匹配项,`:%s/原字符串/新字符串/g`替换整个文件中的所有匹配项。 ### 6. VIM配置 Vim的强大之处在于其高度可定制性,通过`.vimrc`配置文件,你可以自定义各种快捷键...
2. 替换:使用:s/要替换的字符串/新字符串/格式进行替换。使用g:s/要替换的字符串/新字符串/g来全局替换。 3. 书签与标记:使用m键标记书签,使用`键跳转到书签位置。 4. 宏:使用q键记录宏,然后使用@符号调用宏。 ...
替换命令`:%s/old/new/g`将文件中所有旧字符串替换为新字符串,g代表全局替换。 4. **宏录制与播放**:通过`qq`开始录制宏,`q`结束,然后使用`@q`来播放宏,这在处理重复任务时非常高效。 5. **撤销与重做**:在...
例如执行`/vbird`去向下搜寻`vbird`这个字符串后,按下`n`则会继续向下搜寻下一个名称为`vbird`的字符串;如果执行`?vbird`,则按下`n`会上方继续搜寻`vbird`。 - `N`:与`n`刚好相反,为‘反向’进行前一个搜寻...
- `/pattern`命令用于向下搜索pattern字符串。 - `?pattern`命令用于向上搜索pattern字符串。 - `n`命令重复上次搜索命令(向下搜索)。 - `N`命令反向重复上次搜索命令(向上搜索)。 #### 八、跳转至指定行 - `n...
- **精确匹配**:如何精确地替换整个单词或包含特定字符串的表达式。 - **交互式替换**:如何在替换过程中进行确认,避免误替换。 - **跨文件搜索**:如何在多个文件中进行搜索。 #### 十、寄存器 - **内部...
3. **字符串替换、行的复制、移动与删除**: - **替换**:`:s/old/new`替换当前行的第一个匹配项,`:s/old/new/g`替换当前行所有匹配项,`:%s/old/new/g`则替换文件中所有行的匹配项。 - **行的复制**:在命令模式...