SED 删除两个模式匹配之间的行 [英] SED delete lines between two pattern matches

查看:71
本文介绍了SED 删除两个模式匹配之间的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 SED 替换两个模式/字符串匹配之间的行,见下文.我需要删除 interface GigabitEthernet0/3 以下行直到 interface GigabitEthernet0/4,但保留两个接口名称.

I am trying to replace lines between two pattern/string matches using SED see below. I need to delete lines below interface GigabitEthernet0/3 up to interface GigabitEthernet0/4, but leaving both interface names.

interface GigabitEthernet0/2
 duplex full
 mls qos trust dscp
 spanning-tree portfast
!
interface GigabitEthernet0/3
 mls qos trust dscp
 spanning-tree portfast
!
interface GigabitEthernet0/4
 mls qos trust dscp
!

结果:

interface GigabitEthernet0/2
 duplex full
 mls qos trust dscp
 spanning-tree portfast
!
interface GigabitEthernet0/3
!
interface GigabitEthernet0/4
 mls qos trust dscp
!

推荐答案

$ cat test
1
start
2
end
3
$ sed -n '1,/start/p;/end/,$p' test
1
start
end
3
$ sed '/start/,/end/d' test
1
3

这篇关于SED 删除两个模式匹配之间的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆