linux vi 替换命令

发布时间:2010-10-22 16:34:53   作者:佚名   我要评论

久了没用vi 命令都忘了,到网上找了些,记录下,以下内容出自网络,来源已经不详.

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" < src >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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

相关文章

这篇文章主要介绍了CentOS系统中安装高亮vim编辑工具的方法,需要的朋友可以参考下2014-05-01

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用。作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来2014-04-21

vi 是 unix/linux 下极为普遍的一种文本编辑器. vi 有各种变种, 在不同的机器上有不同的变种软件. 其中 vim 比较好用也用得比较广泛. vim 是 Vi IMproved 的缩写, 表示更好2014-03-13

linux vim配置文件:语法高亮、显示状态行、C程序提供自动缩进等设置2013-12-13

vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法2013-10-16

将一下代码copy到 用户目录下 新建文件为 .vimrc保存即可生效2013-07-31

分享vim配置文件一个,可以直接使用,配置出非常实用的编程功能,有需要的朋友参考下2013-07-31

把如下的文件保存为Linux主文件夹的".vimrc"文件(不同的Linux版本略有不同,ubuntu下是.vimrc),即可以把vim打造成一把利器2013-02-11

linux vi命令大全整理,可供需要的朋友参考2012-11-09

Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体2012-11-01

最新评论

linux %s替换命令,linux vi 替换命令相关推荐

  1. Linux 基础操作、常用shell命令、vi常用命令、man帮助手册

    Linux 基础操作.常用shell命令.vi常用命令.man帮助手册 一.简述 记录简单的Linux 基础操作.常用shell命令.vi编辑器常用命令.man帮助手册的使用. 二.Linux 基础操 ...

  2. linux的命令vim,Linux命令:vi | vim命令

    vim - vi 增强版.文本编辑器 格式:vim [options] [file ..] 说明:如果file存在,文件被打开并显示内容,如果文件不存在,当编辑后第一次存盘时创建它 [options] ...

  3. Linux常用命令,vi编辑器命令,Linux软件安装

    文件系统 / 根目录 (相当于Windows我的电脑) opt 存放第三方应用软件 etc 配置文件 dev 设备文件 usr 用户文件 kernel 内核 var variable可变的 expor ...

  4. linux vim set ff,Linux命令:vi | vim命令

    vim - vi 增强版.文本编辑器 格式:vim [options] [file ..] 说明:如果file存在,文件被打开并显示内容,如果文件不存在,当编辑后第一次存盘时创建它 [options] ...

  5. linux在vi创建文件,Linux下创建文本文件(vi/vim命令使用详解)

    vi test.txt 或者 vim test.txt 再或者 touch test.txt vim是vi的升级版,指令更多,功能更强. 下面是收集的vim用法,当在vim里面要实现退出,首先要做的是 ...

  6. Linux从头开始学--学习笔记9知识点补充-ubuntu,centos;在linux上创建c程序;linux基础命令,shell命令,vi命令,man帮助手册

    这是我从头开始学习Linux的学习笔记,后续还会更新. 记录自己的技术成长,也希望和大家分享交流,欢迎关注~ 本笔记为coursera网站课程<Linux for Developers>的 ...

  7. linux操作系统 第03章 vi文本编辑器

    第3章    vi文本编辑器 3.1  vi文本编辑器概述 与Unix相同,Linux本质上是一个文本驱动(text-driven)的操作系统.文本文件就是全部由ASCII码字符及某种语言的编码字符构 ...

  8. linux系统vi替换命令,linux:vi 替换命令

    转自:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html :s/^.*$/\L&/100 ##将100行内的小写转换成大写 ...

  9. linux vi命令操作实例,Linux下Vi替换字符命令操作实例

    在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁.本文以一个实际的文件为例,详细 在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的 ...

  10. linux里面查找替换命令,Linux常用命令(一)————查找和替换

    1. 查找一个字符串 一个字符串是一行上的一个或几个字符. 为查找一个字符串,在vi命令模式下键入"/",后面跟要查找的字符串,再按回车.vi将光标定位在该串下一次出现的地方上.键 ...

最新文章

  1. 白盒测试实践-任务完成
  2. mlxtend对sklearn进行扩展
  3. python制作动态条形图-python – 动态更新matplotlib中的条形图
  4. visual studio 2005,visual studio 2008调出即时窗口
  5. python处理中文字符串_python字符串中的中文处理
  6. 小程序 ajax 加载,小程序实战-小程序网络请求异步加载
  7. 力压Java、C语言!Python 获2018年度编程语言
  8. 使用linux_使用 AppImage 进行 Linux 软件包管理 | Linux 中国
  9. 服务器搭建对讲机系统,传统对讲机系统如何接入到融合通信系统?
  10. JavaScript 图片切割效果(带拖放、缩放效果)
  11. Halcon颜色分类-MLP
  12. 抖音无水印视频批量下载助手
  13. 详解网关和路由器的区别
  14. 芯片制作 | 和我一起来卷芯片
  15. socket服务器断开消息,详解JS WebSocket断开原因和心跳机制
  16. dbus-1 not met问题
  17. 程序员常用刷题网站分享
  18. matlab 自定义对象,面向对象: MATLAB 的自定义类 [MATLAB]
  19. 软件测试流程规范简介(不同公司流程规范不一样,仅供参考)
  20. 【转】为什么需要异步

热门文章

  1. f分布表完整图a=0.01_QC七大手法(工具)完整版介绍
  2. jsp java session_JSP Session
  3. 基于python车牌识别系统_GitHub - DataXujing/vehicle-license-plate-recognition: 基于Python的车牌检测和识别系统:...
  4. 计算机考研数据结构高分笔记,2021版天勤计算机考研高分笔记系列:数据结构高分笔记(第9版)...
  5. biu~biu~常用网站
  6. 我的世界java版袭击_袭击 - Minecraft Wiki,最详细的官方我的世界百科
  7. 交换排序图解_动画图解十个经典排序算法
  8. AVOD-理解系列(一)
  9. 阻滞增长模型求解_马尔萨斯与阻滞增长模型对于人口预测的分析
  10. 2×125MW发电厂升压站电气部分设计