1. 基本的替换

: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

2. 可以使用 # 作为分隔符,此时中间出现的 /

不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为

sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来

替换 / ): /oradata/apras/替换成/user01/apras1/

3. 删除文本中的^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

4. 其它用法

利用 :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 从第几行到第几行 替换_vi全局替换方法:相关推荐

  1. vi 从第几行到第几行 替换_vi命令加行号查找替换等命令

    一.加行号           : set nu 二.vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找, 不过没关系,你在命令模式 ...

  2. vi 从第几行到第几行 替换_第三十三章:查找新函数:XLOOKUP,再也不用趴着电脑屏幕数第几列、第几行(二)...

    XLOOKUP查询函数的语法XLOOKUP(lookup_value,lookup_array,return_array,if_not_found,match_mode,search_mode) 第一 ...

  3. vi编辑器中的各种(整行,多行,一个单词)复制

    那么vi编辑器中的整行(多行)复制与粘贴就非常必要了.1.复制1)单行复制在命令模式下,将光标移动到将要复制的行处,按"yy"进行复制:2)多行复制在命令模式下,将光标移动到将要复 ...

  4. Linux Vi 删除全部内容,删除某行到结尾,删除某段内容 的方法

    1.打开文件 [c-sharp] view plain copy vi filename 2.转到文件结尾 [c-sharp] view plain copy G 或转到第9行 [c-sharp] v ...

  5. MySql第几行到第几行语句

    1.查询第一行记录:  select * from table limit 1  2.查询第n行到第m行记录  select * from table1 limit n-1,m-n;  SELECT ...

  6. linux查文件的前几行,Linux--查询文件的第几行到第几行命令

    cat catalina.out | tail -n +14000 | head -n 10000 | sort | uniq -c linux 如何显示一个文件的某几行(中间几行) [一]从第300 ...

  7. mysql查询是第几条记录_MySQL查询第几行到第几行记录

    1.查询第一行记录: select   *   from   table  limit   1 2.查询第n行到第m行记录 select * from table1  limit n-1,m-n; S ...

  8. linux 将test.log中第1行的所有都替换成,【Linux面试题7】三剑客笔试题集合

    三剑客笔试题集合 一. 三剑客-基础部分题目 1. 选择 1.在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(多选)(AC) A:grep B:gzip C:find D:s ...

  9. linux sed 选取,linux sed 替换(整行替换,部分替换)、删除delete、新增add、选取...

    sed命令行格式为: sed [-nefri] 'command' 输入文本 常用选项: -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上 ...

最新文章

  1. 添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试
  2. 江西财经计算机应用杨教授,江西财经大学信息管理学院研究生导师介绍:刘德喜...
  3. 测试驱动开发 测试前移_测试驱动开发–双赢策略
  4. 数据库工具一段时间后打开报错:远程过程调用失败0x800706be
  5. 用java创建窗口程序,创建窗口的应用程序
  6. /etc/bashrc和/etc/profile
  7. js 下的 split
  8. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门
  9. SQLSERVER查看阻塞和死锁的进程以及执行的语句
  10. python编程入门与案例详解-Python程序设计案例课堂
  11. Python——Selenium Chrome Driver配置
  12. Pod install 慢, pod update 慢, Cocoapods setup下载缓慢,手动解决方案
  13. mysql jsp省市区三级联动_用jsp实现省市区三级联动下拉
  14. Typora下载与安装详解
  15. 2022年信息系统监理师考试大纲
  16. 猴子搬香蕉Java实现_猴子搬香蕉问题
  17. amd cpu排行_intel和AMD CPU性能排行
  18. 《指数基金投资指南》银行螺丝钉 ---读书
  19. 计算机毕业设计Java河池市旅游信息系统(源码+系统+mysql数据库+lw文档)
  20. maven使用c3p0——详细(很详细)

热门文章

  1. vue设置页面滚动高度_vue 解决无法设置滚动位置的问题
  2. 基于动作捕捉的踝关节动力矫形器外骨骼开发
  3. 关于图片不变形适应屏幕的解决方法(vue为例)
  4. Raptor-数字分解
  5. die_visual
  6. 阿里云人脸人体--人像素描风格化效果体验
  7. 产品经理入门:一、产品、产品经理
  8. E575: viminfo: Illegal starting char in line: hello=Hello\ \!\How\ are\ you\ \?
  9. IEEE754 浮点数的表示方法
  10. 免费的21个UI界面设计工具、资源及网站