[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 ...
随机推荐
- Linux 4.10中两个新特性与我的一段故事
今早5点半起来没有開始写文章,而是去西湾红树林连跑带走折腾了将近20公里.回来后就8点多了...洗了个澡之后坐稳当.開始写一段关于我的故事. 在2014年到2015年期间,我在负责研发一 ...
- 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转
站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...
- c# vs2010 excel 上传oracle数据
excel 数据表上传到oracle数据库.过程例如以下: 1.打开本地excel文件 2.用OleDb连接excel文件 3.将来excel的数据读取到dataset中 4.把dataset 中数据 ...
- 找个些有用的网站(CSS生成)
http://www.shejidaren.com/css-button-generator-and-beautifucl-style-sheet.html
- kafka消费者如何才能从头开始消费某个topic的全量数据
消费者要从头开始消费某个topic的全量数据,需要满足2个条件(spring-kafka): (1)使用一个全新的"group.id"(就是之前没有被任何消费者使用过); (2)指 ...
- Django import / export实现数据库导入导出
使用django-import-export库,导入导出数据,支持csv.xls.json.html等格式 官网:http://django-import-export.readthedocs.io/ ...
- 一个有趣的python排序模块:bisect
今天同事说到了一个python的排序模块bisect,觉得挺有趣的,跟大家分享分享. 先看看模块的结构: 前面五个属性大家感兴趣可以打出来看看数值,这里就不介绍了. 先说明的是,使用这个模块的函数前先 ...
- 【机器学习】随机森林(Random Forest)
随机森林是一个最近比较火的算法 它有很多的优点: 在数据集上表现良好 在当前的很多数据集上,相对其他算法有着很大的优势 它能够处理很高维度(feature很多)的数据,并且不用做特征选择 在训练完后, ...
- csv和excel互转
Python csv转换为excel学习笔记: openpyxl模块需要安装pip install openpyxl import openpyxl import csv '''读取csv文件写入ex ...
- Java后端测试概述
[本文出自天外归云的博客园] 多种单测技术 1. 要学会Spring MVC/Boot测试中自带的mock方法. 2. 学会junit中的方法,对于注解的使用等. 3. 学会使用结合第三方Mockit ...