`
maker.chen
  • 浏览: 24001 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何通过vi快速代替文章的指定字符

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

代替前面几个字符:%s/^...//g 一个小点代表一个字符
代替后面几个字符:%s/...$//g 一个小点代表一个字符
分享到:
评论

相关推荐

    16进制显示转正常显示字符串.vi

    本VI为一种16进制数通过转换显示成正常的字符串的代码。很多朋友在写串口程序时可能经常碰到接收到的是十六进制数字型信息,但最终要处理的是字符串信息。通过这个VI可以解决该问题

    vi快速学习 vim快速学习

    vi快速学习 vim快速学习 vi快速学习 vim快速学习

    vi中实现字符串的替换

    怎样高速有效无错地实现的字符串替换,修改代码中的bug。

    字符串转acsii字符.vi

    字符串转ascii值的一个子VI,可以直接传给基恩士PLC字符串,PLC是双字节存储字符的 ,一个十六位存储单元存2个字符,分高低位,批量传的时候注意中间加空格

    vi编辑指令快速查询表

    vi编辑指令快速查询表,内容详尽,各种操作指令尽在其中!

    vi编辑器的使用,linux快速入门

    ZZ 快速保存文件的内容,然后退出vi。功能和“:wq”相同。 :w filename 相当于“另存为”。 :n,mw filename 将第n-m行的文本保存到指定的文件filename中。 三、vi长指令和短指令 长指令:以冒号开头,键入冒号后...

    用labview实现字符串转图片.vi

    用labview实现字符串转换成图片,十六进制字符串源码转换成图片的过程,非常好用,欢迎大家分享我希望能对大家有帮助

    字符串至字符数组实现汉字字符分割.vi

    一个汉字=2个英文字母=2字节 官方标准:1汉字=2字节 1字节(Byte)=8字位=8个二进制数,在labview中,有时需要对字符串进行分割提取其中的中文字符,需要一定方法来实现,此方法可对其实现分割,并正确显示出来。

    VI编辑器常用命令整理

    "vi +[#] file": 打开文件,并将光标移到指定的行。例如,"vi +100 records" 从第100行开始编辑文件records,命令三个部分用空格隔开,省略#(vi + file)则光标位于第一行 "vi +/str file": 打开文件,光标定位在...

    合并字符串.vi

    软键盘vi,一维数组转换为符号分隔字符串vi等的子vi

    Laview 字符串显示格式转换VI

    labview 字符串显示格式相互转换VI,可以HEX转正常显示,也可反向转HEX,可以用在串口通讯上,当子VI方便直接调用。

    字符转ascii码1.vi

    labview中经常会使用到字符串转化为ASCII的功能,由于labview没有改功能模块,需要用户自己去实现,因此该功能模块通过组合模块,实现该功能方便通信和数据分析。

    linux vi 常用命令

    vi命令列表 1、下表列出命令模式下的一些键的功能: h 左移光标一个字符 l 右移光标一个字符 k 光标上移一行 j 光标下移一行 ^ 光标移动至行首 0 数字"0",光标移至文章的开头 G 光标移至文章的最后 $ 光标移动至行...

    字符串转换为时间.vi )

    字符串转换为时间.vi ,是用labview 开发的。

    字符串转换合并.vi

    字符串转换合并.vi

    ASCII值转换字符串.vi

    从基恩士PLC读取字符串,基恩士PLC使用16位地址存储字符串,一个地址存储2个字符,分高低位,批量读取的时候要格外注意每中间的空格和字符的顺序。

    字符判断.vi

    字符判断

    vi技巧大全命令大全

    S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 ...

    文本数据读取vi

    这是一个文本文件读取的vi,不知道错了没有,希望多多指点。

    字符串加密.vi

    字符串加密,对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d...

Global site tag (gtag.js) - Google Analytics