- 论坛徽章:
- 0
|
一直在隔三差五的学习shell命令,碰到问题了还是没思路,希望坛子里的大神帮忙,个人感觉不是很难,就是写不出来。。。。。。
文本:
[bes@testdb ~]$ more test.txt
dn: bbsubid=33271471, bbloginname=IP0020014591, cn=broadbanduser, uporgcode=03
20, cn=organization, dc=hbradius,dc=com
bbexpiredate: 20901230235959
bbonlinesum: 1
bbproduct: 0303010012
bbrealservice: DG0101
bbservice: 0801
bbstopstatus: normal
bbsubid: 33271471
bbsubstatus: active
bbvaliddate: 20141228001954
objectClass: BossBroadBandSubscription
objectClass: top
dn: bbsubid=39367911, bbloginname=IP0020014591, cn=broadbanduser, uporgcode=03
20, cn=organization, dc=hbradius,dc=com
bbexpiredate: 20901230235959
bbonlinesum: 1
bbproduct: 0303010001
bbrealservice: DG0101
bbservice: 4512
bbstopstatus: normal
bbsubid: 39367911
bbsubstatus: active
bbvaliddate: 20150504141856
objectClass: BossBroadBandSubscription
objectClass: top
想要加工成的格式:
IP0020014591,0801
IP0020014591,4512
就是bbloginname=的值和bbservice的值,
awk -vRS='dn:' -vFS='\n' '($1~/33271471/){split($1,a,/[=,]/);n=a[4]}($6~/bbservice/){split($1,b,":");n=b[2]}{print n,m}' test.txt
自己写了个半成品,有点问题,因为dn下面各个节点出现的顺序可能不同,$6~/bbservice/这里的数字无法写死。 |
|