vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。
 
  :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
 
  可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
 
  :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
 
  :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/
 
  1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
 
  :s/vivian/sky/g 替换当前行所有 vivian 为 sky
 
  2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
 
  :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
 
  (n 为数字,若 n 为 .,表示从当前行开始到最后一行)
 
  3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
 
  :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
 
  4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
 
  :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
 
  5. 删除文本中的^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" dest
 
  。 tr -d "\015" dest
 
  。 strings A>B
 
  6. 其它
 
  利用 :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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

vim查找和替换字符串相关推荐

  1. VIM查找和替换字符串命令详解(持续更新中...)

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  2. vim查找或替换字符串后,取消高亮

    :set nohlserach 或者 :nohl 目前不清楚这两个的区别

  3. [倚天屠龙记] vim 查找与替换(简单查找)

    [倚天屠龙记] vim 查找与替换(简单查找) {{{         搜索与替换是文本编辑器的最重要的功能之一,也是其能力的一个缩影.         接下来用几节的篇幅重点叙述vim的查找与替换功 ...

  4. [倚天屠龙记] vim 查找与替换(正则表达式)

    [倚天屠龙记] vim 查找与替换(正则表达式) {{{ 正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代 ...

  5. Vim正则表达式匹配替换字符串

    /*********************************************************************** Vim正则表达式匹配替换字符串* 说明:* 用Vim用 ...

  6. vi查找和替换字符串

    命令 功能 /str 查找str(n查找下一个,N查找上一个) * 向后查找当前光标所在单词 # 向前查找当前光标所在单词 :%s/旧字符串/新字符串/g 全局替换字符串

  7. Vim查找、替换与删除常用命令

    查找与替换 在文档中向后查找单词:/pattern,按n查找下一处,按N查找上一处 在文档中向前查找单词:?pattern,按n查找下一处(向前),按N查找上一处 精确匹配:/\<pattern ...

  8. vim查找和替换详解

    1.vim 单文件中查找方法正常模式下使用 / 或 ? 命令执行向后搜索或向前搜索/love 从光标位置向前搜索关键词 love ?love 从光标位置向后搜索关键词 love正常模式下使用 n 或 ...

  9. centos查找和替换字符串

    查找当前目录下的文件包含指定字符串的语句 find . | xargs grep -ril "字符串" 只列出包含字符串的文件列表 find . | xargs grep -ri ...

  10. Vim中如何替换字符串

    替换字符串 全局,替换字符串: 命令模式 :% s/old/new/g old,new不需要双引号,g表示全局,如果没有g就是每一行的第一个会被改变 例子: % s/test_shm_tool.c/$ ...

最新文章

  1. swap冒泡函数java_一个冒泡排序程序,將交换数组的两个元素的功能用一个Swap()方法实现...
  2. 理解SQL Server中索引的概念,原理以及其他
  3. Iterator主要有三个方法:hasNext()、next()、remove()详解
  4. doc转docx文件会乱吗_利用python将doc文件转换为docx
  5. CTFHUB技能树-Misc-流量分析-ICMP
  6. websocket使用指南
  7. git 和gitHup工具笔记的详细教程
  8. 二 docker安装ca证书
  9. 对于程序员头发的认识
  10. 南京信息工程大学计算机科学与技术评级,晋升ESI排名全球前1‰,南京信息工程大学这个学科不简单!...
  11. JavaScript的通用库与动画特效
  12. 二级分销商城简单的设计方式
  13. unity -- 泛型
  14. 《论文写作》课堂收获
  15. 组织病理学的生存模型综述
  16. 智慧化工厂人员定位离我们有多远?苏州新导智能定位系统
  17. jquery跳转、刷新页面大全
  18. 全新UI运营级在线客服系统源码+无授权/带教程
  19. Keras下载数据失败,本地导入
  20. 胖哥食品网络诊断分析

热门文章

  1. 一文搞懂深度学习中常用的优化算法
  2. python编译器源码分析_Python源码剖析之编译Python
  3. Ubuntu_扩容后没有作用——解决办法是要重新分区
  4. Linux查看MySQL配置文件路径及相关配置
  5. k3刷梅林5g信号不稳定_刷了好几个K3的 OpenWrt包,总感觉网络不正常,终于找到原... - 一与博客...
  6. python调用arcpy函数_AGS Python开发-ArcPy开发基础
  7. 史上最全Nginx面试题及答案
  8. 跨境电商热之下推ShopExpress,微盟靠什么出海寻新增量?
  9. ev3编码软件linux,乐高ev3编程软件下载
  10. 2021年高处作业安装拆除维护证考试题库解析