[sed] linux sed 批量替换字符串
| 比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 这个命令组合很强大,要注意备份文件。 (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed (2)替换每行所有匹配 删除:d命令
替换:s命令
选定行的范围:逗号
多点编辑:e命令
从文件读入:r命令
写入文件:w命令
追加命令:a命令
插入:i命令 $ sed '/test/i\\
变形:y命令
退出:q命令
保持和获取:h命令和G命令
保持和互换:h命令和x命令
7. 脚本 Sed脚本是一个sed的命令清单,启动Sed时以-f选项引导脚本文件名。Sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头的行为注释行,且不能跨行。 8. 小技巧
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.itbbs.cn为chinafar.com sed -i "s/www.itbbs.cn/chinafar.com/g" `grep www.itbbs.cn -rl /home` 二、下面这条命令: find ./ -type f 上面的“s|ABCD|Linux| g”是perl要执行的脚本,即把所有ABCD替换为Linux 当编辑指令(参照[section2.2])在命令列上执行时,其前必须加上选项-e。其命令格式如下: sed-e'编辑指令1'-e'编辑指令2'...文件档 其中,所有编辑指令都紧接在选项-e之後,并置於两个"'"特殊字元间。另外,命令上编辑指令的执行是由 左而右。 一般编辑指令不多时,使用者通常直接在命令上执行它们。 例如,删除yel.dat内1至10行资料,并将其馀文字中的"yellow"字串改成"black"字串。此时,可将编辑指令直接在命令上执行,其命令如下: sed-e'1,10d'-e's/yellow/black/g'yel.dat 在命令中,编辑指令'1,10d'(解[5])执行删除1至10行资料;编辑指令's/yellow/black/g'(解[6]), "yellow"字串替换(substuite)成"black"字串。 2.2sed的编辑指令 sed编辑指令的格式如下: [address1[,address2]]function[argument] 其中,位址参数address1、address2为行数或regularexpression字串,表示所执行编辑的资料行;函数参 数function[argument]为sed的内定函数,表示执行的编辑动作。 下面两小节,将仔细介绍位址参数的表示法与有哪些函数参数供选择。 2.2.1位址(address)参数的表示法 实际上,位址参数表示法只是将要编辑的资料行,用它们的行数或其中的字串来代替表示它们。下面举几个例子 说明(指令都以函数参数d(参照[section4.2])为例): 删除档内第10行资料,则指令为10d。 删除含有"man"字串的资料行时,则指令为/man/d。 删除档内第10行到第200行资料,则指令为10,200d。 删除档内第10行到含"man"字串的资料行,则指令为10,/man/d。 接下来,以位址参数的内容与其个数两点,完整说明指令中位址参数的表示法(同样也以函数参数d为例)。 位址参数的内容: 位址为十进位数字:此数字表示行数。当指令执行时,将对符合此行数的资料执行函数参数指示的编辑动作。例如, 删除资料档中的第15行资料,则指令为15d(参照[section4.2])。其馀类推,如删除资料档中的第m行资料,则 指令为md。 位址为regularexpression(参照[附录A]): 当资料行中有符合regularexpression所表示的字串时,则执行函数参数指示的编辑动作。另外,在 regularexpression前後必须加上"/"。例如指令为/t.*t/d,表示删除所有含两"t"字母的资料行。其中,"." 表示任意字元;"*"表示其前字元可重任意次,它们结合".*"表示两"t"字母间的任意字串。 位址参数的个数:在指令中,当没有位址参数时,表示全部资料行执行函数参数所指示的编辑动作;当只有一位址 参数时,表示只有符合位址的资料行才编辑;当有两个位址参数,如address1,address2时,表示对资料区执行 编辑,address1代表起始资料行,address2代表结束资料行。对於上述内容,以下面例子做具说明。 例如指令为 d 其表示删除档内所有资料行。 例如指令为 5d 其表示删除档内第五行资料。 例如指令为 1,/apple/d 其表示删除资料区,由档内第一行至内有"apple"字串的资料行。 例如指令为 /apple/,/orange/d 其表示删除资料区,由档内含有"apple"字串至含有"orange"字串的资料行 2.2.2有那些函数(function)参数 下页表中介绍所有sed的函数参数(参照[chapter4])的功能。 函数参数功能 :label建立scriptfile内指令互相参考的位置。 |
[sed] linux sed 批量替换字符串的更多相关文章
- linux sed 批量替换字符串
Linux下批量替换多个文件中的字符串的简单方法.用sed命令可以批量替换多个文件中的字符串. 命令如下: sed -i "s/原字符串/新字符串/g" `grep 原字符串 -r ...
- linux中批量替换文本中字符串--转载
(一)通过vi编辑器来替换.vi/vim 中可以使用 :s 命令来替换字符串.:s/well/good/ 替换当前行第一个 well 为 good:s/well/good/g 替换当前行所有 well ...
- 在Linux中批量修改字符串的命令
昨天一个朋友忽然问我,在Linux下如何批量修改字符串,当时瞬间懵逼了,完全想不起来....... 今天特意的重温了一下Linux下的一些常用命令,并将这个遗忘的批量修改字符串的命令记录下来(资料来自 ...
- [转帖]Linux下批量替换文件内容方法
Linux下批量替换文件内容方法 https://www.cnblogs.com/fjping0606/p/4428850.html 刚才用到的命令 原作者写的挺好的记录一下 以后 用. 1:查找fi ...
- Linux命令之sed批量替换字符串操作
使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力: 使用的格式如下: sed -i "s/oldstring/newstring/g" `grep oldstri ...
- linux下批量替换文件内容
1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串: (此命令很强大) ...
- Linux下批量替换文件内容方法
1:查找find . -type f -name "*.html"|xargs grep ‘yourstring’ 2:查找并替换find -name '要查找的文件名' | xa ...
- linux下批量替换文件内容(转)
http://www.cnblogs.com/end/archive/2012/05/24/2517131.html 1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g ...
- Linux下批量替换文件内容和文件名(转)
1.批量替换指定多个文件的文件内容 在指定目录/your/path里,查找包含old_string字符串的所有文件,并用new_string字符串替换old_string字符串. sed -i &qu ...
随机推荐
- Web用户控件开发--星型评分控件
本文中分享一个实现简单,使用方便的星型评分控件. 一:贴几张测试图片先: 二.星型评分控件的实现: RatingBar.ascx: <%@ Control Language="C#&q ...
- T4文本模板转换过程
T4文本模板转换过程将文本模板文件作为输入,生成一个新的文本文件作为输出. 例如,可以使用文本模板生成 Visual Basic 或 C# 代码,还可以生成 HTML 报告. 有三个组件参与这一过程: ...
- jota-time 练习
public static void main(String[] args) { LocalDate now = new LocalDate(); //输出形式为yyyy-MM-dd System.o ...
- 如何不使用Navigator空间实现跳转页面?
//引入 Loading页面 主页面 登录页等页面组件 constructor(props) { super(props); this.state = { 登录状态: 等待检查 }; } compon ...
- tomcat 8080 冲突 急速解决方法 -------屡试不爽
cmd 输入: netstat -ano|findstr 8080 记住 最后的端口号**** 再输入: taskkill /pid **** /f
- 分享:Oracle 系统变量函数用法说明
在Oracle数据库中,Oracle系统变量函数是经常会使用到的函数,分享下Oracle系统变量函数的用法. Oracle函数多种多样,系统变量函数就是其中之一,介绍三种最常见的系统变量函数. Ora ...
- CentOS7静态IP设置
[root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts [root@localhost network-scripts ...
- Spark SQL利器:cacheTable/uncacheTable【转】
转自:http://www.cnblogs.com/yurunmiao/p/4936583.html Spark相对于Hadoop MapReduce有一个很显著的特性就是“迭代计算”(作为一个Map ...
- IIS6 301重定向和IIS7 301重定向
IIS6 301重定向 1.先在IIS里把网站正常发布,例如域名为(www.114390.com) 2.再硬盘上建一个空文件夹 3.再到IIS里建一个网站,例如域名为(114390.com),指向这个 ...
- IntelliJ IDEA 14.1.4导入项目启动报错:Error during artifact deployment.[组件部署期间出错]
1.问题描述:Error during artifact deployment.[组件部署期间出错] 2.删除Artifacts 3.刷新 4.重新生成Artifacts 5.重新选择 再重新启动项目 ...