首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SED删除两个模式匹配之间的行

SED删除两个模式匹配之间的行
EN

Stack Overflow用户
提问于 2011-11-11 04:09:26
回答 5查看 2.8K关注 0票数 2

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

代码语言:javascript
复制
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
!

结果:

代码语言:javascript
复制
interface GigabitEthernet0/2
 duplex full
 mls qos trust dscp
 spanning-tree portfast
!
interface GigabitEthernet0/3
!
interface GigabitEthernet0/4
 mls qos trust dscp
!
EN

回答 5

Stack Overflow用户

发布于 2011-11-11 04:40:26

收入:

代码语言:javascript
复制
$> cat ./text 
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
!

结果:

代码语言:javascript
复制
$> cat ./text | sed '/interface GigabitEthernet0\/3/,/\!/c interface GigabitEthernet0\/3\n!'
interface GigabitEthernet0/2
 duplex full
 mls qos trust dscp
 spanning-tree portfast
!
interface GigabitEthernet0/3
!
interface GigabitEthernet0/4
 mls qos trust dscp
!

我们只需使用c命令,该命令会将匹配的模式(从interface GigabitEthernet0/3更改为!)与interface GigabitEthernet0/3!一起使用。

票数 1
EN

Stack Overflow用户

发布于 2013-01-24 10:23:59

代码语言:javascript
复制
$ 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
票数 1
EN

Stack Overflow用户

发布于 2011-11-11 05:07:02

这可能对你有用:

代码语言:javascript
复制
sed -e '\#^interface GigabitEthernet0/3#,/^!/{//!d}' input_file

或者就像你在问题中描述的那样:

代码语言:javascript
复制
sed -e '\#^interface GigabitEthernet0/3#,\#^interface GigabitEthernet0/4#{//!d;/4/s/^/!\n/}' input_file

假设您想要在第二个接口之前保留线路上的!。如果您不需要!,那么在sed命令的最后一位中省略/4/s/^/!\n/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8085633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档