跨行内容查找、替换、删除

sed '/START-TAG/{:a;N;/END-TAG/!ba};/ID: 222/d' data.txt
/START-TAG/ {  # Match 'START-TAG'
:a # Create label a
N # Read next line into pattern space
/END-TAG/! # If not matching 'END-TAG'...
ba # Then goto a
} # End /{START-TAG/ block
/ID: 222/d # If pattern space matched 'ID: 222' then delete it.

清除范围START-TAG到END-TAG的内容

sed -i '/START-TAG/{:a;N;/END-TAG/!ba};//d' file.txt

替换范围START-TAG到END-TAG的内容为Target

sed -i '/START-TAG/{:a;N;/END-TAG/!ba};s/START-TAG.*END-TAG/Target/' file.txt

删除A到B之间的内容,跨行包括A,B

sed '/A/,/B/d' file.txt

<来源>

【SHELL】跨行内容查找、替换、删除的更多相关文章

  1. shell脚本--内容查找之grep命令

    grep命令可以检索文件中包含关键字(可以使用正则)的行,默认区分大小写. ubuntu@ubuntu:~/test$ cat test.txt this is linux this is Linux ...

  2. 文件6. 查找替换.txt文本文件中的内容

    servlet实现对文本文件的查找替换 .jsp界面 <form> <table> <tr> <td>选择文本文件:</td> <td ...

  3. [ SHELL编程 ] 文件内容大小写替换

    shell编程经常会碰到字符串.文件内容大小写的转换,在不同的场景下选择合适的命令可以提高编程效率. 适用场景 需大小写转换的文件内容或字符串 字符串大小写替换 小写替换大写 echo "h ...

  4. linux几种常见的文件内容查找和替换命令

    作为一个以前没怎么接触过linux的小白,开始使用linux,各种不习惯,这周遇到一个文件内容测查找和替换的需求.学习了以下几种实现方式: 1.vi命令下的查找和替换 1.1 vi下的查找 /patt ...

  5. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

    1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...

  6. dreamweaver中用正则表达式查找替换批量删除 tppabs标签的方法

    查找替换 正则表达式  \btppabs="h[^"]*" 后面不能有空格 你懂得的 选中右下角的 √[使用正则表达式] 替换全部

  7. 优秀的目录文档内容查找,替换工具,可以飞快的帮助你查询大IIS日志哟。

    这,是一款飞速的目录文档中内容查找的工具. 它,飞快精准的帮助你查询到你想搜索的文档中的内容. 它,是一款由非常牛B,我都不晓得姓名的作者开发的,冒失是C++的windows应用. 你,非常需要他. ...

  8. shell 文件内容替换 sed用法

    sed 's/要被替换的字符串/新的字符串/g' sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest. 如果没有g标记,则只有每行第一个匹配的 ...

  9. Linux下Shell文件内容替换(sed)(转)

    sed -i 's/被替换的内容/要替换成的内容/g' file #-i为直接修改并保存 参考: http://blog.sina.com.cn/s/blog_7211cb9201019hgd.htm ...

  10. 转载:如何运用VI编辑器进行查找替换

    使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容. 这时,使用查找功能尤为重要. 方法如下: 1.命令模式下输入“/字符串”,例如“/Section 3”. 2.如果查找下一个,按“ ...

随机推荐

  1. selenium之鼠标键盘操作

    鼠标操作 1.引入ActionChains类 2.定位相关元素 3.在ActionChains().调用相关鼠标操作方法 from selenium.webdriver.common.action_c ...

  2. NC65单据模板公式使用

    单据模板公式使用 (一) 公式使用场景 用户使用产品时,往往对单据上的字段取值有各种不同的需求.为此单据模板提供 了模板公式功能,可以让实施顾问或者用户通过配置各种公式,并且不用修改代码,从 而满足用 ...

  3. 技本功|数据安全之IDC数据容灾设计实现

    近年来,数据安全问题日渐受到大家的关注,对于任何一家企业,数据无疑是最重要的资产之一.提到数据容灾,大家可能会想到备库和备份的概念,那么我们先来谈谈备库与备份的区别. 备库与备份的区别 通常来讲,备库 ...

  4. weblogic GC overhead limit exceeded

    weblogic GC overhead limit exceeded 使用weblogic启动较大项目时,超出GC限制,可以通过修改 C:\Oracle\Middleware\Oracle_Home ...

  5. Java 中常见类型的判空方式

    引用类型(Reference Types): 使用 == 运算符判断是否为 null. 使用 != 运算符判断是否不为 null. 使用 Objects.isNull() 方法判断是否为 null. ...

  6. 【好书推荐】《Python黑魔法指南》-附高清PDF版

    摘要:<Python 黑魔法手册.pdf >作者(明哥)是一个从事云计算多年的 Python 重度用户,它把自已多年的 Python 编码经验整理成小册子,没有长篇大论,半天就能全能掌握, ...

  7. 带你彻底搞懂高性能网络模式Reactor 和 Proactor

    ​​​​摘要:无论是 Reactor,还是 Proactor,都是一种基于「事件分发」的网络编程模式,区别在于 Reactor 模式是基于「待完成」的 I/O 事件,而 Proactor 模式则是基于 ...

  8. GaussDB(DWS) NOT IN优化技术解密:排他分析场景400倍性能提升

    摘要:本文针对8.1.2版本中的NOT IN场景的Mixed-HashJoin新技术进行介绍.该技术在GaussDB(DWS)与招商银行的联创项目中落地,为招商银行的批量作业带来了总体15%的性能提升 ...

  9. 云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构设计分析

    SaaS--软件即服务(Software as a Service)的出现改变了传统使用软件转变为使用服务. SaaS与传统软件的最大区别是,前者按年付费租用服务,后者一次买断.这貌似只是" ...

  10. Java 项目工程搭建 --创建父工程

    Java 项目工程搭建 --创建父工程 Java 项目工程搭建 --创建子模块(依赖父工程) Intellij 2018 更多详细内容见尚硅谷阳哥视频,实际项目中更多的是copy,修改pom Inte ...