Java教程

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

本文主要是介绍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

这篇关于shell三剑客sed之文件特定内容删除和替换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!