`
fantaxy025025
  • 浏览: 1245773 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Linux_vi_替换命令

阅读更多

From:http://soft.chinabyte.com/374/7749874.shtml

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

分享到:
评论

相关推荐

    linuxvi替换命令借鉴.pdf

    linuxvi替换命令借鉴.pdf

    linux vi 常用命令

    linux vi 常用命令 命令行模式(command mode)功能键 1). 插入模式 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件; 按「a」进入插入模式后,是从目前光标所在位置...

    大数据基础-Linux基础详解课程25.vi编辑命令-替换搜索取消命令.mp4

    大数据基础-Linux基础详解课程

    Linux中vi编辑模式下基本操作命令

    首先vi是Linux终端下或控制台下常用的编辑器,基本的操作方式为: vi /路径/文件名 进入之后按”a”、“i”、”o”键都可以对文件进行编辑 退出vi编辑模式的方法: 按”esc”键,输入”:q!”即可强制退出(注意...

    Linux系统中的VI命令

    Linux系统中的VI命令 1、Vi介绍: Vi编辑器是所有Unix及Linx系统下标准的编辑器,类似于window系统下的notepad(记事本)。 Vi和Vim都是linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。 2、Vi三种...

    vi命令入门详解.txt

    屏幕文本编辑器Vi 本章介绍Linux上最常用的文本编辑器Vi。文本编辑器是所有计算机系统中最常使用的一种工具。...Vi没有菜单,只有命令,且命令繁多。Vi有三种基本工作模式:命令行模式、文本输入模式和末行模 式。

    Linux常见命令与shell脚本

    1.17 管道与命令替换 9 1.18 umask文件/目录创建掩码 9 1.19 chmod 修改文件权限 9 1.20 chgrp改变文件/目录所属的组 11 1.21 chown更改某个文件/目录的所有者和属组 11 1.22 find文件查找 11 1.23 locate快速文件...

    vim_命令手册

    命令 替换操作 rchar 用char替换当前字符 R text escape 用text替换当前字符直到换下Esc键 stext escape 用text代替当前字符 S或cctext escape 用text代替整行 cwtext escape 将当前字改为text Ctext escape 将当前...

    vi常用命令汇总.docx

    vi常用命令汇总:编辑器具备的功能 1)打开文件、新建文件、保存文件 2)光标移动 3)文本编辑 4)(多行间|多列间)复制、粘贴、删除 5)查找和替换

    linux系统vim实验报告.doc

    关于文本编辑器 vim 的使用 ...1.vi 的三种模式:编辑模式,命令模式,最后行模式及模式之间的切换。 2.vi 的新建,保存与退出。 3.字符串替换,行的复制,移动,删除。 4.文本的查找,撤销与重复。 【注】原创文章,请勿转载

    Linux运维-操作系统 教程 从入门到精通101课-42-42文件系统命令-vi末行模式 查找与替换.mp4

    Linux运维-操作系统 教程 从入门到精通101课-42-42文件系统命令-vi末行模式 查找与替

    vi 中较常用的操作命令

    简单的介绍 vi 中较常用输入模式、光标移动、删除操作、改变与替换、查询、拷贝与粘贴、文件保存及退出等操作命令。

    学习vi和vim编辑器_第7版_中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    J-Linux&Shell-W7 Vi (上)

    J-Linux&Shell-W7 Vi (上) 一、判断题 插入模式不是vi的工作模式之一。( × ) vi命令模式中a是从光标所在位置后面开始新增内容。( √ ) vi命令模式中(是光标所在位置到该句子的第一个字母。( √ ) vi中不可以使用...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版... vi或Vim,是使用Linux或Unix时的必要知识,无论使用哪种平台,《学习vi和Vim编辑器(中文版第7版)》都是基础中的基础。 《学习vi和Vim编辑器(中文版第7版)》由罗宾斯、汉娜和拉姆编著。

    学习VI和VIM编辑器第7版中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    linux C编程实战

     1.4.3 Linux的常用命令   1.5 Linux下程序的开发环境和开发过程   1.6 习题   第2章 C编程基础、Vi和Emacs编辑器   2.1 C程序的结构   2.2 C语言的基本数据类型   2.2.1 整型   2.2.2 浮点...

    学习vi和vim编辑器

     ·使用vi的全局搜索与替换功能  ·自定义vi,并执行unix的命令  ·使用vim的扩展文本对象以及威力强大的正则表达式  ·执行多窗口编辑,并设计vim脚本  ·充分利用图形化用户界面版的vim,gvim  ·使用vim的...

    Linux网络操作系统基础:Vi编辑器使用方法.pptx

    Linux文本编辑器 - vi;Linux文本编辑器 - vim;vim编辑器命令格式;vim基础操作 - 打开文件;vim基础操作 - 移动光标;vim基础操作 - 数据操作;vim基础操作 - 行号显示与取消;vim基础操作 - 查找与替换;vim基础操作 - ...

Global site tag (gtag.js) - Google Analytics