在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替换字符命令操作实例的更多相关文章

  1. linux下vi编辑器常用命令

    最近折腾云主机centOS,不得不接触到各种命令,特别是vi编辑器. 时常悔恨当时没好好听金老伯的linux课,导致现在操作命令用的十分生疏,甚至跳转行首行尾都要查一查才知道. 所以〒▽〒有了下面这篇 ...

  2. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  3. 【转】Linux下patch打补丁命令

    [转]Linux下patch打补丁命令 转自:http://www.cnblogs.com/noaming1900/archive/2010/10/28/1863282.html 此命令用于为特定软件 ...

  4. Linux 下查看文件字符编码和转换编码

    Linux 下查看文件字符编码和转换编码 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而Linu ...

  5. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

  6. linux下 vi中[noeol]以及出现 feff 的问题

    "uptime.py" [noeol] 69L, 2311C"system/uptime.py" 69L, 2312C 'noeol' 就是 'no end-o ...

  7. linux下软件的更新命令

    linux下软件的更新命令   在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区 ...

  8. 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。(转)

    在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示).如:# cp ...

  9. [转帖]Linux下批量替换文件内容方法

    Linux下批量替换文件内容方法 https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找fi ...

随机推荐

  1. Lesson 1 Basic Concepts: Part 1

    www.how-to-build-websites.com/basic-concepts/part1.php An introduction to domain names, web servers, ...

  2. poj--1637--Sightseeing tour(网络流,最大流判断混合图是否存在欧拉图)

    Sightseeing tour Time Limit: 1000MS   Memory Limit: 10000KB   64bit IO Format: %I64d & %I64u Sub ...

  3. Android 使用Gallery组件实现图片播放预览

    Gallery(画廊)扩展了LayoutParams,以此提供可以容纳当前的转换信息和先前的位置转换信息的场所. Activity package com.app.test01; import com ...

  4. HP 1022N 网络打印机安装步骤

    HP 1022N 网络打印机安装步骤

  5. Flex XML/XMLList 常用操作

    1       XML.XMLList操作 Flex对xml提供了很多强大而灵活的操作.相对于其他语言,flex对xml的格式要求不那么苛刻,只要符合基本格式语法的字符串,flex能非常简单的转换成x ...

  6. 03012_预处理对象executeQuery方法(实现数据库的查询)

    1.概述 (1)通过预处理对象的executeQuery方法,完成记录的select语句的执行: (2)操作格式统一如下: ①注册驱动: ②获取连接: ③获取预处理对象: ④SQL语句占位符设置实际参 ...

  7. 在Docker应用场景下 如何使用新技术快速实现DevOps

    在Docker应用场景下 如何使用新技术快速实现DevOps @Container容器技术大会是由国内容器技术社区DockOne组织的专为一线开发者和运维工程师设计的顶级容器技术会议,会议强调实践和交 ...

  8. 如何动态改变audio的播放的src

    如何动态改变audio的播放的src 一.总结 一句话总结:js方式在请求外部网站的时候行,php方式在请求内外部资源都行.因为php走在js前面,所以问题可以从php方面想办法. 1.如何使用js控 ...

  9. freeMark

    1. 什么是freemark       Freemaker是一个”模板引擎”,也可以说是一个基于模板技术的生成文本输出的一个通用工具 2.一般的用途: l 能用来生成任意格式的文本:HTML,XML ...

  10. OpenCV —— 图像局部与分割(二)

    分水岭算法 将图像中的边缘转化成“山脉”,将均匀区域转化为“山谷” 分水岭算法首先计算灰度图像的梯度,这对山谷或没有纹理的盆地(亮度值低的点)的形成有效,也对山头或图像中没有主导线段的山脉(山脊对应的 ...