在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁。 本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字符命令,为相关的开发工作提供给了参考。 Vim学习指南 http://www.linuxidc.com/Linux/2013-08/89096.htm快速学会 Vi编辑器 http://www.linuxidc.com/Linux/2013-08/88586.htm强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm在CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htmVim 7.4a 发布,全新更快的正则表达式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htmCentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htmVim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htm 本文中被操作的文件为TestFile.txt,其中的内容如下: www.linuxidc.com@linux:~/linuxidc/Test> cat TestFile.txt 12345678907890 ABCDABCDEFGHIJ 12345^&*()() 98765432103210 abcdabcdefghij123123 先进入vi编辑模式,如下: www.linuxidc.com@linux:~/linuxidc/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”。
4) :%s/str1/str2/g 将每一行中所有str1替换为 str2。 紧接着上一条命令执行: :%s/890/098/g 文件内容变为: 32145670987098 ABCDABCDEFGHIJ 32145^&*()() 98765432141234 abcdabcdefghij321321 可见,每一行的所有“890”都变成了“098”。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-07/104649p2.htm
Linux过滤空文件的命令总结Ubuntu环境下Redis 配置与C++使用入门相关资讯 Linux Vi替换命令 Linux Vi替换 本文评论 查看全部评论 (0)