加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux下vi替换字符命令例子

发布时间:2016-09-08 07:50:21 所属栏目:Linux 来源:站长网
导读:在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁。 本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字
副标题[/!--empirenews.page--]

在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁。

本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字符命令,为相关的开发工作提供给了参考。

本文中被操作的文件为TestFile.txt,其中的内容如下:

zhou@linux:~/zhouzx/Test> cat TestFile.txt

12345678907890

ABCDABCDEFGHIJ

12345^&*()()

98765432103210

abcdabcdefghij123123

先进入vi编辑模式,如下:

zhou@linux:~/zhouzx/Test> vi TestFile.txt

依次执行以下替换命令(注意:每条命令都要以冒号“:”开头),其中替换部分用红色字体标注。

1) :n,$s/str1/str2/

将第n行开始到最后一行中每一行的第一个str1替换为str2。

例如,在TestFile.txt文件的vi编辑模式下执行:

:2,$s/123/321/

文件内容变为:

12345678907890

ABCDABCDEFGHIJ

32145^&*()()

98765432103210

abcdabcdefghij321123

可见,只有第三行和第五行的第一个“123”变成了“321”。第一行的“123”没有被替换,因为命令是从第二行开始执行的。

2) :n,$s/str1/str2/g

将第n行开始到最后一行中每一行所有str1替换为str2。

紧接着上一条命令执行:

:2,$s/3210/1234/g

文件内容变为:

12345678907890

ABCDABCDEFGHIJ

32145^&*()()

98765412341234

abcdabcdefghij321123

可见,从第二行开始的所有的“3210”都变成了“1234”。

3) :%s/str1/str2/

将每一行的第一个str1替换为str2。

紧接着上一条命令执行:

:%s/123/321/

文件内容变为:

32145678907890

ABCDABCDEFGHIJ

32145^&*()()

98765432141234

abcdabcdefghij321321

可见,每一行的第一个“123”都变成了“321”。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读