shell三剑客sed之文件特定内容删除和替换

问题,首先针对如下文件内容,需要删除包含特定内容的行,一键替换文件内容达到最终目标

原始文件内容

C91E-Test-92(config)#interface vlan632
C91E-Test-92(config-if-vlan632)#show this
!<if-intf>
ip address 20.0.132.1 255.255.255.0
ipv6 enable
ipv6 address 2409:8086:8311:278::ffff/64
interface mac-address 2222.3333.0084 anycast
!</if-intf>
!<nd>
ipv6 dad-attempts 0
ipv6 nd na-parse
!</nd>
C91E-Test-92(config-if-vlan632)#exit

目标内容

interface vlan632

ip address 20.0.132.1 255.255.255.0
ipv6 enable
ipv6 address 2409:8086:8311:278::ffff/64
interface mac-address 2222.3333.0084 anycast
exit

 

步骤1:

将原始文件内容保存到文件501-750vlanconfigure.txt中,

步骤2:

删除包含“if-intf”、“config-if”、“dad-attempts”、“na-parse”、“/nd”的行

sed -i "/if-intf/d" 501-750vlanconfigure.txt

sed -i "/config-if/d" 501-750vlanconfigure.txt

sed -i "/dad-attempts/d" 501-750vlanconfigure.txt

sed -i "/na-parse/d" 501-750vlanconfigure.txt

sed -i "/\/nd/d" 501-750vlanconfigure.txt

步骤3:

关键字“C91E-Test-92(config)#”替换为空格

sed -i "s/C91E-Test-92(config)#//g" 501-750vlanconfigure.txt

步骤4:

关键字“!<nd>”替换为exit

sed -i "s/\!<nd>/exit/g" 501-750vlanconfigure.txt

sedi "/show/d" 501-750vlanconfigure.txt

相关文章

Centos系统之Shell编程基础知识
从Export理解Shell环境和变量生存期
linux shell数组变量、类型及规则
Centos编程Shell基本工作原理方案
Centos操作系统编程之Shell 问答录
rsync-linux备份脚本