shell脚本实现提取交换机端口的序列号

文件部分内容如下:

[Port_10GE1/0/1]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=
[Board Properties]
BoardType=RTXM228-401
BarCode=333333333333333333
Item=
VendorName=WTD
IssueNumber=
CLEICode=       
BOM=


[Port_10GE1/0/2]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=
[Board Properties]
BoardType=MTRS-1E31-01
BarCode=1111111111111111
Item=
IssueNumber=
CLEICode=
BOM=


[Port_10GE1/0/3]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=
[Board Properties]
BoardType=TR2SP1ZW45
BarCode=222222222222222
Item=

shell脚本如下:
 

grep -E "Port|BarCode=" filename.txt |sed -e 's/\[Port_//g' -e 's/\]/ /g' -e 's/BarCode=//g'|sed '{N;s/\n/ /}'|awk '{print $1" 的序列号为: "$2}'
grep -E 使过滤规则支持正则表达式,grep -E "Port|BarCode="的意思是过滤出包含Port或者BarCode的所有行并打印

sed -e 's/\[Port_//g' -e 's/\]/ /g' -e 's/BarCode=//g' 将不需要的字段替换成空

sed '{N;s/\n/ /}'   {}里面可以放多条命令,用分号分开,N将下一行放入当前模式空间,将该行与下一行合并,s/\n/ /将换行替换成空格,两行变成一行了。

最后输出的效果为:

10GE1/0/1 的序列号为: 3333333333333
10GE1/0/2 的序列号为: 111111111111111
10GE1/0/3 的序列号为: 2222222222222

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值