Linux下vi替换字符命令操作实例
在Linux下的开发中,经常涉及到对文件里的字符进行处理,当中,对字符的替换操作也是非常的频繁。
本文以一个实际的文件为例,具体介绍了Linux下经常使用的vi替换字符命令,为相关的开发工作提供给了參考。
本文中被操作的文件为TestFile.txt,当中的内容例如以下:
可见。仅仅有第三行和第五行的第一个“123”变成了“321”。第一行的“123”没有被替换。由于命令是从第二行開始运行的。
2) :n,$s/str1/str2/g
将第n行開始到最后一行中每一行全部str1替换为str2。
紧接着上一条命令运行:
”都变成了“1234”。
3) :%s/str1/str2/
将每一行的第一个str1替换为str2。
紧接着上一条命令运行:
45678907890
可见,每一行的第一个“123”都变成了“321”。
4) :%s/str1/str2/g
将每一行中全部str1替换为 str2。
紧接着上一条命令运行:
”都变成了“098”。
5) :s/str1/str2/
将行中首次出现的字符串str1用字符串str2替换。
紧接着上一条命令运行:
”变成了“890”。
6) :s/str1/str2/g
将行中全部出现的字符串str1用字符串str2替换。
紧接着上一条命令运行:
45678907098
”变成了“123”。
7) :.,$ s/str1/str2/g
将正文当前行到末尾全部出现的字符串str1用字符串str2替换。
紧接着上一条命令运行:
2345678907098
可见。全部的“1”都变成了“2”。
8) :1,$ s/str1/str2/g
将正文中全部出现的字符串str1用字符串str2替换。
紧接着上一条命令运行:
345678907098
可见,全部的“22”都变成了“33”。
9) :g/str1/s//str2/g
将正文中全部出现的字符串str1用字符串str2替换。
紧接着上一条命令运行:
345678907098
可见,全部的“33”都变成了“22”。
从以上替换命令的运行能够看出:
1) 全部命令都要以冒号“:”开头。
2) 全部命令既能够替换单个的字符。也能够替换字符串。
3) 假设“g”放在命令末尾。表示对搜索字符串的每次出现进行替换;假设不加“g”。表示仅仅对搜索字符串的首次出现进行替换;而假设“g”放在了命令开头。表示对正文中全部包括搜索字符串的行进行替换操作。
Linux下vi替换字符命令有非常多种,作为一名合格的软件开发project师。一定要熟练掌握常见字符替换命令的使用方法。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426。欢迎关注!
)
Linux下vi替换字符命令操作实例的更多相关文章
- linux下vi编辑器常用命令
最近折腾云主机centOS,不得不接触到各种命令,特别是vi编辑器. 时常悔恨当时没好好听金老伯的linux课,导致现在操作命令用的十分生疏,甚至跳转行首行尾都要查一查才知道. 所以〒▽〒有了下面这篇 ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
- 【转】Linux下patch打补丁命令
[转]Linux下patch打补丁命令 转自:http://www.cnblogs.com/noaming1900/archive/2010/10/28/1863282.html 此命令用于为特定软件 ...
- Linux 下查看文件字符编码和转换编码
Linux 下查看文件字符编码和转换编码 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linu ...
- linux下MySQL安装登录及操作
linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...
- linux下 vi中[noeol]以及出现 feff 的问题
"uptime.py" [noeol] 69L, 2311C"system/uptime.py" 69L, 2312C 'noeol' 就是 'no end-o ...
- linux下软件的更新命令
linux下软件的更新命令 在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区 ...
- 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。(转)
在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示).如:# cp ...
- [转帖]Linux下批量替换文件内容方法
Linux下批量替换文件内容方法 https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找fi ...
随机推荐
- dropify,不错的图片上传预览插件
引言 传统的图片上传,很丑.点击选择之后,还无法预览. 有一种方案是传到服务器,然后返回地址,然后显示,比较麻烦. 用这个dropify,就可以解决之歌问题. 看效果 用法 1.引入文件,需要jque ...
- 判断DataGridView滚动条是否滚动到当前已加载的数据行底部
private void dataGridView1_Scroll(object sender, ScrollEventArgs e) { if (e.ScrollOrientation == S ...
- Weka中数据挖掘与机器学习系列之基本概念(三)
数据挖掘和机器学习 数据挖掘和机器学习这两项技术的关系非常密切.机器学习方法构成数据挖掘的核心,绝大多数数据挖掘技术都来自机器学习领域,数据挖掘又向机器学习提出新的要求和任务. 数据挖掘就是在数据中寻 ...
- OpenGL编程逐步深入(一)创建一个窗口
原文地址:http://ogldev.atspace.co.uk/ 原文中使用gnu make进行项目管理,本系列文章使用visual studio2012.在翻译过程中并非直译,加入了一些笔者个人观 ...
- [ Linux ] 釋放記憶體指令(cache) - 轉載
1. [Linux]釋放記憶體指令(cache) http://jeffreyy.pixnet.net/blog/post/84333764-%E3%80%90linux%E3%80%91%E9%87 ...
- ES6学习笔记(八)第七种类型Symbol
1.概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种 ...
- mysql InnoDB加锁分析
文章转载自:http://www.fanyilun.me/2017/04/20/MySQL%E5%8A%A0%E9%94%81%E5%88%86%E6%9E%90/ 以下实验数据基于MySQL 5.7 ...
- Java技术——Java泛型详解(转)
); for (int i = 0; i < list.size(); i++) { String name = (String) list.get(i); //取出Integer时,运行时出现 ...
- 这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。
这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理. 01-java高级架构师设计-基础深入 J2SE深入讲解 Java多 ...
- hdoj-1016-Prime Ring Problem【深搜】
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...