Linux系统攻略关于vi替换命令的使用说明
来源:考试大 2008年01月03日 10:50
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_command.zip"这个压缩包文件包含了一些关于vi编辑器常用命令的图片说明和文本资料,这对于初学者或需要提升vi技能的用户来说是非常有价值的资源。 首先,我们要了解vi编辑器的基本操作模式:命令模式和插入模式...
这份压缩包“linux_vi_command.zip”包含两个PDF文档,分别是“vi_memento.pdf”和“linux_command_memento.pdf”,它们提供了关于Linux命令和VIM编辑器的详细指南和快速参考。 首先,让我们讨论Linux命令。Linux...
**VI编辑器详解** VI(Visual Editor)是UNIX和类UNIX系统中的一种强大的文本编辑器,也是Linux程序员的必备工具。...这份"command_of_vi.txt"文件很可能包含了更详细的VI命令,建议查阅以深入了解。
vi 的基本概念可以分为三种操作状态,即命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode)。 vi 的基本操作 * 进入 vi:在系统提示符号输入 vi 及文件名称后,即可进入 vi 全...
1. **命令模式(Command Mode)** 在命令模式下,你可以通过键盘控制光标移动,进行文本的删除、复制和粘贴等操作。此外,你可以从命令模式进入插入模式和底行模式。 2. **插入模式(Insert Mode)** 在插入模式...
### VI操作手册知识点详解 #### 一、VI编辑器简介 VI(Visual Editor)是一款功能强大的文本编辑器,尤其在Unix/Linux环境下极为常见且不可或缺。它不仅能够进行基本的文本编辑,还支持复杂的脚本编写任务。对于...
vi运行时具有三种主要模式:Command mode、Insert mode和Last line mode。 1. Command mode:在这个模式下,用户可以执行各种命令,如移动光标、删除文本、复制和粘贴,以及进入Insert mode或Last line mode。光标...
Vi 编辑器可以分为三种状态,即命令模式(Command Mode)、插入模式(Insert Mode)和底行模式(Last Line Mode)。每种模式都有其特定的功能和用途。 * 命令模式(Command Mode):控制屏幕光标的移动、字符、字或...
"对linux的vi编辑器的认识" Vi 编辑器是 Linux 和 Unix 上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,使它成了效率很高的文本编辑器。尽管在 Linux 上也有很多图形界面的编辑器可用,但 VI 在系统...
本文将详细介绍VI命令的基本概念、基本操作、Command mode和Insert mode的使用。 VI命令的基本概念 VI命令可以分为三种操作状态:命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line ...
eclipse vi plugin 1.16 Here the ChangeLog: - 0000403: [editor_integration] would be nice to be able to use ctrl-v to paste clipboard when on search - 0000134: [eclipse_integration] editing a command ...
vi编辑器可以分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode)。 1. 命令模式(Command mode):控制屏幕光标的移动,字符或光标的删除,移动复制某...
vi 使用操作总结 ви的光标移动 vi 编辑器是 Unix 操作系统中最常用的文本编辑器之一,对软件开发来说,工具并非关键的问题,但工具的使用对提高效率的作用是无可置疑的。下面是 vi 使用操作总结,包括常用设置、...
6. 使用u命令复原此前的情况按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改 7. 使用c、s、r等命令修改文本的内容 8. 使用检索命令进行给定模式的检索查找:/SEARCH 注:正向查找,按n键把...
### VI命令一览表与用法详解 #### 一、VI编辑器简介 VI(Visual Editor)是UNIX系统中广泛使用的文本编辑器之一。它简单、高效,并且在各种UNIX环境中几乎都是默认安装的。VI编辑器有两种基本模式:命令模式和输入...
vi 编辑器有三种基本模式:命令行模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。 * 命令行模式(command mode):在这个模式下,您可以输入一些命令来控制 vi 的行为,例如移动光标...
更高级的技巧,如可视模式(通过`v`或`V`进入)、宏录制与播放(`qq`开始记录,`q`停止并播放)以及Ex命令模式(`:command`),都是提高效率的重要工具。 压缩包中的`vi.png`可能是`vi`快捷键的可视化图,这样的图...