vim中字符串的替换

vi/vim 中可以使用 :s 命令来替换字符串

: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/

删除文本中的^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

1) 文件内全部替换:

:%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)

--注:把abc替换成123

(或者: %s/str1/str2/g 用str2替换文件中所有的str1)

2) 文件内局部替换:

:20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g)

--注:把20行到30行内abc替换成123

原文地址:https://www.cnblogs.com/keystone/p/12706674.html

时间: 2024-08-28 14:32:38

vim中字符串的替换的相关文章

js中字符串的替换

定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返

vim中的批量替换

VI中的批量替换 1) 文件内全部替换: :%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g) --注:把abc替换成123 (或者: %s/str1/str2/g 用str2替换文件中所有的str1) 2) 文件内局部替换: :20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g) --注:把20行到30行内abc替换成123

如何在Vim中的查找替换

“%s/最/第二/g” 用vim的人都知道,这是把所有“最”替换成“第二”的意思.其实vim的查找替换功能非常强大,用的好可以极大提升效率. vim的查找替换命令如下所示:    :{作用范围}s/{目标}/{替换}/{替换标志} 作用范围: 当前行 s:s/最/第二/g           把当前行的所有“最”替换成“第二” 全文 %s:%s/最/第二/g        把全文的所有“最”替换成“第二” 8-15行 8,15s:8,15s/最/第二/g    把8-15行的所有“最”替换成“第

sql server中字符串无法替换空格的问题

直接上代码: select case when 'workReport'=LTRIM(RTRIM(' workReport ')) then 'trim去空格成功' when 'workReport'=REPLACE(' workReport ',' ','') then 'replace去空格成功' when 'workReport'=REPLACE(' workReport ',char(ASCII(REPLACE(' workReport ','workReport',''))),'')

linux中批量替换文本中字符串--转载

(一)通过vi编辑器来替换.vi/vim 中可以使用 :s 命令来替换字符串.:s/well/good/ 替换当前行第一个 well 为 good:s/well/good/g 替换当前行所有 well 为 good:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 goodn 为数字,若 n 为 .,表示从当前行开始到最后一行:%s/well/good/(

在VIM中进行快速的查找和替换

VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f命令可以进行行内搜索.输入fx可以找到下一个x字符. F命令可以在反方向进行行内搜索,输入Fx可以找到上一个x字符. t命令同样是进行行内搜索,但是光标停留在符合条件的字符的前面.输入tx使光标停留在下一个x字符的前面. T命令可以在反方向进行行内搜索,但是光标停留在符合条件的字符的下一个字符上.输

vim中替换命令

在VIM中进行文本替换: 1.  替换当前行中的内容:    :s/from/to/    (s即substitude) :s/from/to/     :  将当前行中的第一个from,替换成to.如果当前行含有多个 from,则只会替换其中的第一个. :s/from/to/g    :  将当前行中的所有from都替换成to. :s/from/to/gc   :  将当前行中的所有from都替换成to,但是每一次替换之前都 会询问请求用户确认此操作. 注意:这里的from和to都可以是任何字

Linux查找和替换目录下所有文件中字符串(转载)

转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹下包含字符串的文件 例:查找/usr/local目录下所有包含”rubyer.me”的文件. grep -lr 'rubyer.me' /usr/local/* vim替换单个文件中所有字符串方法 例:替换当前文件中所有old为new :%s/old/new/g #%表示替换说有行,g表示替换一行中

vim中替换命令(转)

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