VI替换字符串
Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使⽤操作⽅法vi编辑器的使⽤:vi编辑器有三种基本⼯作模式,分别是命令⾏模式、⽂本输⼊模式、末⾏模式。
1.命令⾏模式该模式是进⼊vi编辑器后的默认模式,任何时候,不管⽤户处于何种模式,按下esc键即可进⼊命令⾏模式。
在命令⾏模式下,可以输⼊vi命令来管理⾃⼰的⽂档。
此时在键盘上输⼊任何字符都被当作编辑命令,⽽不是输⼊字符。
输⼊的字符并不会在屏幕上显⽰,若是合法的vi命令,则会完成相应的动作,否则会响铃报警。
2.⽂本输⼊模式命令⾏模式下输⼊以下⼏个命令则会进⼊⽂本输⼊模式。
i: 插⼊命令,会将⽂本插⼊到光标所在位置之前I: 插⼊命令,会将⽂本插⼊到光标所在⾏的⾏⾸a: 追加⽂本命令,会将⽂本追加到光标当前位置之后A: 追加⽂本命令,会将⽂本追加到光标所在⾏的末尾o: 空⾏插⼊命令,将在光标所在⾏的下⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸O: 空⾏插⼊命令,将在光标所在⾏的上⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸c: 修改命令r: 取代命令s: 替换命令在该模式下,⽤户输⼊的任何字符都被当做⽂件内容保存起来,并显⽰在屏幕上。
3.末⾏模式命令⾏模式下,⽤户按下:键即可进⼊末⾏模式,此时vi会在显⽰窗⼝的最后⼀⾏显⽰⼀个:作为末⾏模式的说明符,等待⽤户输⼊命令。
多数⽂件管理命令都是在此模式下执⾏的。
末⾏命令执⾏完后,vi会⾃动回到命令⾏模式4.vi⽂本的删除命令:vi编辑器可以在编辑模式和命令⾏模式下删除⽂本。
命令⾏模式下,vi常⽤删除命令x 删除光标处的字符。
若在x之前加上⼀个数字n,则删除从光标所在位置开始向右的n个字符。
X 删除光标前⾯的字符。
若在X之前加上⼀个数字n,则删除从光标前⾯那个字符开始向左的n个字符。
dd 删除光标所在的整⾏。
前⾯加上数字n,则删除当前⾏以及其后的n-1⾏。
D 或 d$ 删除从光标所在处开始到⾏尾的内容。
d( 删除到上⼀句开始的所有字符d) 删除到下⼀句开始的所有字符d{ 删除到上⼀段开始的所有字符d} 删除到下⼀段开始的所有字符d0 删除从光标前⼀个字符开始到⾏⾸的内容dw 删除⼀个单词。
vi使用方法详细介绍

vi使用方法详细介绍vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。
由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。
Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode。
2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
2、vi的基本操作a) 进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。
初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!b) 切换至插入模式(Insert mode)编辑文件在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
Vi基本操作

Vi基本操作首先看一下vi的三种模式的转换图:编辑模式下想进入命令模式,则需要先按Esc进入普通模式,这按“:”即进入了命令模式.再命令模式下想进入编辑模式,则需要先按Esc键,然后再按“i,a,o,O,s,S”等进入编辑模式.三种模式的简单说明:1、普通模式:使用Vi打开一个文件后,默认是普通模式,即不能进行输入,仅可以执行一些操作命令;2、编辑模式:在此模式下可以进行常规的输入操作,可以在左下角看到插入的标记“-- 插入--”或“-- INSERT --”;3、命令模式:在命令模式下,主要是执行保存、退出、搜索、替换等操作,则左下角可以看到“:”,并有光标闪烁等待输入命令.普通模式:普通模式转为编辑模式0:在光标所在行的上一行新增一行o:在光标所在行的下一行新增一行a:从当前光标所在的位置的下一个字符开始输入i:在光标所在的位置插入新输入的字符s:删除光标后的一个字符,然后进入插入模式;S:删除光标所在的行,然后进入插入模式;移动h:将光标向左移动一格l:将光标向右移动一格j:将光标向下移动一格k:将光标向上移动一格$:将光标移到当前行的最后面数字0:将光标移到当前行的最前面G :将光标移到最后一行的开头gg:将光标移到首行开头w或W:将光标移到下一个字e或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符.b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符.翻页ctrl+b:将页面向前卷动一页ctrl+f:将页面向后卷动一页ctrl+u:将光标向前移动半页ctrl+d:将光标向右移动半页ctrl+e:屏幕向下卷动一行,也可以说文章和光标向上卷动一行ctrl+y:屏幕向上卷动一行,也可以说文章和光标向下卷动一行复制文字yy:可将光标目前所在位置的正行复制,复制时不会将文字反白显示nyy:其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下面2行一起复制yw:可复制光标所在位置到整个单词结束的字符nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面的2个字一起复制p:可将复制的文字粘贴到当前光标所在的位置.若复制的是整行文字,则会将整行内容粘贴在光标所在位置的下一行shift+p 在光标之前粘帖删除文字d:先按d键,放开后按←键,可将光标位置前一个字符删除;按→键,则会将光标位置的字符删除;按↑键,可将当前光标所在的行与前一行一并删除.按↓键,可将当前的光标所在的行与下一行删除.D:可删除一行中光标所在位置之后的所有字符.dd:连续按2次d键可删除光标所在的那一行.dw:将光标停在某个字的第一个字符,按dw键时,会将此字整个删除.如将光标置在某个字中间的字符上,则会将此字中光标后面的字符删除.nd:n为数字,如按3d,再按下↑键,则删除光标上方的3行,再包括本身1行,共删除4行.若按下↓键,则删除光标下方3行再包括本身1行,共4行.ndd:若按3dd键,表示删除当前光标位置的1行和下面的2行. x:删除光标所在位置的字符X:删除光标所在位置的前一个字符,与d+←键一样nx:按4x键,表示删除光标位置后的3个字符和光标本身所在的字符nX:按4X键,表示删除光标位置之前的4个字符不包括光标的字符J:清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;命令行:欲进入命令模式,需要先进入普通模式,然后输入“:”即可w:保存文件q:退出wq:保存并退出q:不保存,强制退出wq ----强制保存退出x ----- 作用和:wq 一样ZZ ---- 作用和:wq一样,注意Z是大写的,并且不是在命令模式查找及替换文字/或:当药搜索文章中的某一个字符串时,可输入“/”或“”,然后在输入要查找的字符串.例如输入“/kuka”,然后按回车键,vim就会把所有的gz字符串标记起来,并自动将光标移到第一个找到的字符串上.n:将光标移到下一个找到的字符串上N:将光标移到上一个找到的字符串上r:替换光标所在的位置的字符.修改内容不一定要进入insert mode,在normal mode中,只要将光标移到要更改的字符上,然后按R键,就可以输入要查找的字符了.R:连续替换光标所在的位置的字符,按Esc键停止替换cc:按cc键可以替换光标所在的那一行替换字符串:当要将文章中的某一个字符串全部替换时例如将所有的temp替换成tmp,使用“:g/temp/s//tmp/g”或“:1,$stemp/tmp /g”命令,可立刻将所有的“temp”替换成“tmp”字符串.如果不是所有的“temp”字符串都要替换时,可用“:g/temp/s//tmp /gc”或“:1/,$stemp/tmp/gc”命令.则找到每一个“temp”字符串时,都会将整行显示在屏幕的下方,可输入“y”或“n”决定是否要替换.显示光标所在的行数、移到指定的行数^g、^G:按次组合键,则会在最下方处显示光标所造位置的行数,以及文章的总行数.nG 或 ngg:n为数字,若按下20G,则可将光标移到第20行.撤销和还原^u:按此键就是在执行undo命令,可取消前一次的操作^r:按此键就是执行redo命令,可以恢复刚才undo的操作注:^ 代表 ctrl 键.。
vi老语法

vi老语法
Vi老语法是指在Vi编辑器中使用的一些历史悠久且较为传统
的语法和操作方法。
Vi是一个文本编辑器,最初是在1976年
由Bill Joy编写的,它是Unix和类Unix系统上的一种标准编
辑器。
一些常见的Vi老语法包括:
1. 模式匹配:Vi支持使用正则表达式进行模式匹配,可以在
文本中查找、替换指定的内容。
2. 动作命令:Vi提供了一系列的动作命令,如光标移动命令(h、j、k、l分别对应左、下、上、右),删除命令(x)、
插入命令(i)等,可以通过按键的方式快速完成编辑操作。
3. 操作符:Vi支持一些操作符,可以在文本上执行一些特定
的操作,如删除(d)、复制(y)、替换(s)等。
4. 文本对象:Vi定义了一些文本对象,可以以字符、单词、
句子、段落等为单位进行操作,例如删除一个单词(dw)、
复制一个句子(ys)等。
5. 缓冲区命令:Vi中可以同时打开多个缓冲区(文件),可
以使用命令在不同的缓冲区之间切换、保存、关闭等。
当然,随着时间的推移,Vi编辑器经过了多次的更新和改进,也加入了一些新的特性和语法。
不过,Vi老语法依然被许多
用户所喜爱和广泛应用,因为它简单、高效,并且在大部分Unix和类Unix系统中都预装有Vi编辑器。
vi命令的功能

vi命令的功能vi是一种经典的文本编辑器,广泛应用于Unix和Linux系统中。
它具有强大的功能,为用户提供了许多编辑和操作文本的选项。
本文将详细介绍vi命令的功能。
1. 插入和编辑文本:vi命令可以让用户在文本中插入和编辑内容。
在插入模式下,用户可以自由地输入和修改文本。
在普通模式下,用户可以使用诸如删除、粘贴、复制、剪切等命令来编辑文本。
2. 光标移动:vi命令允许用户通过多种方式移动光标。
用户可以使用方向键、h、j、k、l键(分别代表左、下、上、右方向)来逐个字符地移动光标。
用户还可以使用单词、句子、段落等级别的移动命令,以便在文本中快速导航。
3. 查找和替换:vi命令具有强大的查找和替换功能。
用户可以使用"/"命令来查找指定的字符串。
当找到目标后,用户可以使用"n"和"N"命令在文本中查找下一个或上一个匹配项。
此外,用户还可以使用":s"命令将文本中的指定字符串替换为新的内容。
4. 复制、粘贴和删除文本:vi命令提供了一系列复制、粘贴和删除文本的功能。
用户可以使用"yy"命令复制整行文本,使用"dd"命令删除整行文本。
用户还可以使用"p"命令将复制或删除的文本粘贴到指定位置。
5. 撤销和重做操作:vi命令支持撤销和重做操作。
当用户对文本进行了某些修改后,可以使用"u"命令来撤销上一步操作。
如果需要重新进行已撤销的操作,可以使用"Ctrl+r"命令来重做。
6. 按行缩进和对齐:vi命令可以对文本进行按行缩进和对齐。
用户可以使用">"命令将选定的行向右缩进,使用"<"命令将选定的行向左缩进。
用户还可以使用"="命令来对选定的文本块进行对齐操作。
vi操作

Vi各种快捷方式1、可直接输入的命令ctrl+v:进入列模式编辑;shift+g:跳至文档末尾;v:列模式(移动光标,全选);u:撤销;Ctrl+r:恢复刚才撤销的动作;Ctrl+w+w:切换到下一个窗口(多窗口操作);2、以冒号“:”开头的命令:set nu:显示行号:set nonu:取消行号显示:%s/字符串1/字符串2/g:全局替换,字符串2替换字符串1注:#也可以作为分隔符:%!sort -u:删除重复行:set noh:取消高亮显示3、以斜杠“/”开头的命令/输入字符:查找内容。
4、行缩进在命令格式下,按住shift并连续点击两次>,不进入插入模式即可实现行缩进行操作1、删除行刪除沒有內容的空行:g/^$/d刪除包含有空格組成的空行:g/^\s*$/d以空格或tab開頭到結尾的空行:g/^[ |\t]*$/d:%s/r//g 删除DOS方式的回车^M:%s= *$== 删除行尾空白:%s/^(.*)n1/1$/ 删除重复行:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf:%s/<!--_.{-}-->//又是删除多行注释(咦?为什么要说「又」呢?):g/s*^$/d 删除所有空行:这个好用有没有人用过还有其他的方法吗?:g!/^dd/d 删除不含字符串'dd'的行:v/^dd/d 同上(译释:v == g!,就是不匹配!):g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行:v/./.,/./-1join 压缩空行:g/^$/,/./-j 压缩空行ndw 或ndW 删除光标处开始及其后的n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后n-1 行。
x 或X 删除一个字符。
Ctrl+u 删除输入方式下所输入的文本。
^R 恢复u的操作J 把下一行合并到当前行尾V 选择一行^V 按下^V后即可进行矩形的选择了aw 选择单词iw 内部单词(无空格)as 选择句子is 选择句子(无空格)ap 选择段落ip 选择段落(无空格)D 删除到行尾x,y 删除与复制包含高亮区dl 删除当前字符(与x命令功能相同)d0 删除到某一行的开始位置d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)dw 删除到某个单词的结尾位置d3w 删除到第三个单词的结尾位置db 删除到某个单词的开始位置dW 删除到某个以空格作为分隔符的单词的结尾位置dB 删除到某个以空格作为分隔符的单词的开始位置d7B 删除到前面7个以空格作为分隔符的单词的开始位置d)删除到某个语句的结尾位置d4)删除到第四个语句的结尾位置d(删除到某个语句的开始位置d)删除到某个段落的结尾位置d{ 删除到某个段落的开始位置d7{ 删除到当前段落起始位置之前的第7个段落位置dd 删除当前行d/text 删除从文本中出现“text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容dtc 删除当前行直到下一个字符“c”所出现位置之间的内容D 删除到某一行的结尾d$ 删除到某一行的结尾5dd 删除从当前行所开始的5行内容dL 删除直到屏幕上最后一行的内容dH 删除直到屏幕上第一行的内容dG 删除直到工作缓存区结尾的内容d1G 删除直到工作缓存区开始的内容vi 列操作1、对列插入:1 定位光标位置2 ctrl+v进入visual-block模式(选定光标所在行对应的列)3 j移动光标选择列编辑行(按shift+g移动到文件底部)4 输入大写I5 输入输入要插入的文本6 esc7 保存完成eg:文件内容如下:123455678967755hghgh......45975现在需在第一列插入#,将光标定在第一行第一列处,ctrl+v选定第一列,输入命令I,之后按shift+g,光标跳至最后一行的第一列,此时选定了整个文件的第一列,输入要插入的字符#,此时,字符#只会显示在第一行第一列的位置上,按ESC退出,则其余行的第一列的#将显示出来。
linux_vi替换命令详解

有用的命令:vi/vim打开文档后,按shift+:此时光标在:后面%s/vivian/sky/g 是将全文中所有的vivian替换成sky我们一般进行的操作是删除操作,就是替换为空%s/,wangcaiwei//g或%s/wangcaiwei,//g下面是详细的介绍,有其他需求去下面找Linux系统攻略关于vi替换命令的使用说明来源:考试大 2008年01月03日10:50vi/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 为skyn 为数字,若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 为sky2. :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)来表示。
linux vi 替换命令

linux:vi 替换命令vi/vim 中可以使用 :s 命令来替换字符串。
以前只会使用一种格式来全文替换,今天发现该命令有很多种写法,记录几种在此,方便以后查询。
1.全局替换(1) v + G + $ 选定全部,然后输入 :s/原始字符串/目标字符串/(2) :%s/原始字符串/目标字符串/2.清除页面中所有行尾的空白符::%s/\s\+$//3.清除所有空白:%s/\(\s*\n\)\+/\r/4.去掉所有的//注释:%s!\s*//.*!!5.去掉所有的/* */注释:%s!\s*/\*\_.\{-}\*/\s*! !6.做某些内部数据重复替换有些时候我们需要组织一些批量的数据进行命令行的执行,比如我们需要利用前面的数据生成后面的数据,例如这样的数据:/var/database/aaa.txt/var/database/bbb.txt/var/database/ccc.txt我想变成一个个的指令,比如变成一个个复制命令,复制到但前目录,那么可以执行::%s/\(.*base\/\)\(.*\.txt\)/cp \1\2 \.\/\2/变成了:cp /var/database/aaa.txt ./aaa.txtcp /var/database/bbb.txt ./bbb.txtcp /var/database/ccc.txt ./ccc.txt这里关键是子模式的使用: () 中间的,\1 代表第一个找到的子模式,\2代表第二个,以此类推,vim里面的()必须转义,跟其他语言不一样7.增加注释(一个操作应用在多行)比如需要增加#或者是//这种注释:Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定) 8.对齐行v 选定需要整齐的行,输入 = 进行归整9.打开多窗口在vim中使用 :sp 文件名打开行窗口(横),使用 :vsp 文件名打开列窗口(竖),使用 :q 关闭当前窗口,使用 :qa 关闭所有窗口,使用 Ctrl + w 在各个窗口中进行切换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。