在Vi里面实现字符串的批量替换

在Vi里面实现字符串的批量替换。

a. 文件内全部替换:

%s#abc#def#g(用def替换文件中所有的abc)

例如把一个文本文件里面的“linuxidc.com”全部替换成“linuxidc.net”:

:%s#linuxidc.com#xwen.net#g (如文件内有#,可用/替换,比如:%s/linuxidc.com/xwen.net/g)

b. 文件内局部替换:

把10行到50行内的“abc”全部替换成“def”

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

以上命令如果在g后面再加上c,则会在替换之前显示提示符给用户确认(conform)是否需要替换。 比如

:%s#linuxidc.com#linuxidc.net#gc

Vim学习指南 http://www.linuxidc.com/Linux/2013-08/89096.htm

快速学会 Vi编辑器 http://www.linuxidc.com/Linux/2013-08/88586.htm

强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm

CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htm

CentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htm

Vim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htm

Ubuntu中设置Vim的行号 http://www.linuxidc.com/Linux/2012-12/75485.htm

Vim编辑器使用基础教程 http://www.linuxidc.com/Linux/2013-05/84031.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-03/114621.htm

时间: 2024-10-03 13:29:58

在Vi里面实现字符串的批量替换的相关文章

使用正则表达式,字符串的批量替换

1.1 使用正则表达式,字符串的批量替换. 今天遇到一个问题,需要把表里的附件名称做换行处理,直接替换换行符即可,代码如下: data.FILE_NAMES = data.FILE_NAMES.replace(/:/g, '\r\n'); 这里是把“:”替换成了“\r\n”,/g是指全局的意思,如果这么写,则只会替换第一个冒号 data.FILE_NAMES=data.FILE_NAMES.replace(":","\r\n");

Linux命令之sed批量替换字符串操作

使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力: 使用的格式如下: sed -i "s/oldstring/newstring/g" `grep oldstring -rl path` 其中,oldstring是待被替换的字符串,newstring是待替换oldstring的新字符串,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路径: -i选项是直接在文件中替换,不在终端输出: -r选项是所给的path中的目录递归查找: -l选项是

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

批量替换多个文件里边的字符串

一.批量递归查找包含字符串的所有文件 grep 命令用于查找在文件里符合条件的字符串 grep -rl "B" /root/ceshi/* 参数解释: -r 递归查找 -l 列出匹配的文件名 -n 列出所在的行号 * 代表ceshi目录下的所有文件 --include="*.text" 只查找后缀名是.text的文件 --exclude="*.sql" 查找除了后缀名是.sql的文件 示例一: [[email protected] ~]# gre

linux sed 批量替换多个文件中的字符串

转载:http://blog.csdn.net/kauu/article/details/1757325 一.linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep ww

批量替换文件夹多个doc中的字符串

' -------------------------------------------------------------------------------- ' 用来替换文件夹多个doc中的字符串 ' 作者:[email protected] ' 日期:2017年4月25日 ' -------------------------------------------------------------------------------- ' -----------------------

MySQL批量替换指定字段字符串

MySQL批量替换是我们经常会用到的功能,有时站内包含敏感词,会给我们带来麻烦,而在信息量较大的情况下,一篇篇查找.修改是不现实的. 用MySQL批量替换,甚是轻松.发布在这里供参考,以备不时之需. MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; 比如本站今天发现站内关于linux命令的文章 标题不是太好,以前都是以 linux下mkdir命令使用详解---linux创建目录命

linux批量替换多个文件中的字符串

一.linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换当前目录下所有文件中的log.txt为test.log sed -i "s/log.txt/test.log/g" `grep log.txt -rl /home` 二.下面这条命令: find ./ -type f 此命令是显示当前目录下所有的文件 上面的"s|ABCD|

字符串 批量 替换 问题

字符串批量替换的的解决办法: Replace Str.replace(),Str.replace(),Str.replace(),Str.replace(),......., 分析:适应于少数的几个替换场景,如果需要上千次的替换,你会发现很慢,且不适合于一个关键词匹配多次的情况 正则替换 System.Text.RegularExpressions.Regex.Replace("",""); 第三方组件