sinhayash
sinhayash

Reputation: 2803

Use regex to process log file: combine regex expressions

I have a file which contains string output as shown in code below. I want to extract data:

How do I use regex to achieve this? Can I combine two regex expressions I am using into one?

I need to ignore the "dropped" string as well

port: dropped-packets
s1-eth1: 21
s1-eth2: 12
...

processQdisc.py

output = '''
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 47002846 bytes 549464 pkt (dropped 0, overlimits 0 requeues 1) 
 backlog 0b 0p requeues 1 
qdisc htb 5: dev s2-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 25845 bytes 186 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 24941 bytes 182 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 24043 bytes 177 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 25506 bytes 183 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 25173 bytes 182 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 26996 bytes 197 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 26793 bytes 197 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28350 bytes 206 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 26856 bytes 195 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 27651 bytes 199 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28908 bytes 208 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28654 bytes 205 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28494 bytes 203 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 27723 bytes 198 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28996 bytes 206 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth7 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28586 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth8 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28494 bytes 203 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth9 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28836 bytes 204 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth10 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28334 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth11 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28654 bytes 205 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28586 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28404 bytes 202 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28334 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28154 bytes 199 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28244 bytes 200 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 4149 bytes 29 pkt (dropped 3, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc netem 10: dev s2-eth1 parent 5:1 limit 1000 loss 10%
 Sent 4149 bytes 29 pkt (dropped 3, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 21723 bytes 160 pkt (dropped 21, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc netem 10: dev s1-eth1 parent 5:1 limit 1000 loss 10%
 Sent 21723 bytes 160 pkt (dropped 21, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 4942 bytes 36 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 23646 bytes 173 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 6025 bytes 52 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 23018 bytes 160 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s5-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 4002 bytes 24 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 24586 bytes 185 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 5587 bytes 43 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 23720 bytes 169 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
'''

My code:

import re
searchObj = re.findall( r's\d-eth\d', output, re.M|re.I)
searchObj2 = re.findall( r'dropped \d*', output, re.M|re.I)

print searchObj
print searchObj2

Output I am getting:

['s2-eth2', 's2-eth3', 's2-eth4', 's2-eth5', 's2-eth6', 's3-eth2', 's3-eth3', 's3-eth4', 's3-eth5', 's3-eth6', 's4-eth2', 's4-eth3', 's4-eth4', 's4-eth5', 's4-eth6', 's4-eth7', 's4-eth8', 's4-eth9', 's4-eth1', 's4-eth1', 's6-eth2', 's6-eth3', 's6-eth4', 's6-eth5', 's6-eth6', 's2-eth1', 's2-eth1', 's1-eth1', 's1-eth1', 's3-eth1', 's1-eth2', 's4-eth1', 's1-eth3', 's5-eth1', 's1-eth4', 's6-eth1', 's1-eth5']
['dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 3', 'dropped 3', 'dropped 21', 'dropped 21', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0', 'dropped 0']

Upvotes: 0

Views: 63

Answers (2)

Kasravnd
Kasravnd

Reputation: 107287

You can just use a logical OR between your regexes :

>>> re.findall( r's\d-eth\d|dropped \d*', output, re.M|re.I)
['dropped 0', 'dropped 0', 's2-eth2', 'dropped 0', 's2-eth3', 'dropped 0', 's2-eth4', 'dropped 0', 's2-eth5', 'dropped 0', 's2-eth6', 'dropped 0', 's3-eth2', 'dropped 0', 's3-eth3', 'dropped 0', 's3-eth4', 'dropped 0', 's3-eth5', 'dropped 0', 's3-eth6', 'dropped 0', 's4-eth2', 'dropped 0', 's4-eth3', 'dropped 0', 's4-eth4', 'dropped 0', 's4-eth5', 'dropped 0', 's4-eth6', 'dropped 0', 's4-eth7', 'dropped 0', 's4-eth8', 'dropped 0', 's4-eth9', 'dropped 0', 's4-eth1', 'dropped 0', 's4-eth1', 'dropped 0', 's6-eth2', 'dropped 0', 's6-eth3', 'dropped 0', 's6-eth4', 'dropped 0', 's6-eth5', 'dropped 0', 's6-eth6', 'dropped 0', 's2-eth1', 'dropped 3', 's2-eth1', 'dropped 3', 's1-eth1', 'dropped 21', 's1-eth1', 'dropped 21', 's3-eth1', 'dropped 0', 's1-eth2', 'dropped 0', 's4-eth1', 'dropped 0', 's1-eth3', 'dropped 0', 's5-eth1', 'dropped 0', 's1-eth4', 'dropped 0', 's6-eth1', 'dropped 0', 's1-eth5', 'dropped 0']

And if you don't want the dropped word in result you can use a positive look behind in your regex :

>>> re.findall( r's\d-eth\d|(?<=dropped) ?\d*|eth\d', output, re.M|re.I)
['eth0', ' 0', 'eth1', ' 0', 's2-eth2', ' 0', 's2-eth3', ' 0', 's2-eth4', ' 0', 's2-eth5', ' 0', 's2-eth6', ' 0', 's3-eth2', ' 0', 's3-eth3', ' 0', 's3-eth4', ' 0', 's3-eth5', ' 0', 's3-eth6', ' 0', 's4-eth2', ' 0', 's4-eth3', ' 0', 's4-eth4', ' 0', 's4-eth5', ' 0', 's4-eth6', ' 0', 's4-eth7', ' 0', 's4-eth8', ' 0', 's4-eth9', ' 0', 's4-eth1', ' 0', 's4-eth1', ' 0', 's6-eth2', ' 0', 's6-eth3', ' 0', 's6-eth4', ' 0', 's6-eth5', ' 0', 's6-eth6', ' 0', 's2-eth1', ' 3', 's2-eth1', ' 3', 's1-eth1', ' 21', 's1-eth1', ' 21', 's3-eth1', ' 0', 's1-eth2', ' 0', 's4-eth1', ' 0', 's1-eth3', ' 0', 's5-eth1', ' 0', 's1-eth4', ' 0', 's6-eth1', ' 0', 's1-eth5', ' 0']
>>> 

Upvotes: 1

user5122848
user5122848

Reputation:

Combining lists can be one option

#processQdisc.py
import re

output = '''
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 Sent 47002846 bytes 549464 pkt (dropped 0, overlimits 0 requeues 1) 
 backlog 0b 0p requeues 1 
qdisc htb 5: dev s2-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 25845 bytes 186 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 24941 bytes 182 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 24043 bytes 177 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 25506 bytes 183 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 25173 bytes 182 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 26996 bytes 197 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 26793 bytes 197 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28350 bytes 206 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 26856 bytes 195 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 27651 bytes 199 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28908 bytes 208 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28654 bytes 205 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28494 bytes 203 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 27723 bytes 198 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28996 bytes 206 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth7 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28586 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth8 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28494 bytes 203 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth9 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28836 bytes 204 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth10 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28334 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth11 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28654 bytes 205 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28586 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28404 bytes 202 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28334 bytes 201 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28154 bytes 199 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth6 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 28244 bytes 200 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s2-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 4149 bytes 29 pkt (dropped 3, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc netem 10: dev s2-eth1 parent 5:1 limit 1000 loss 10%
 Sent 4149 bytes 29 pkt (dropped 3, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 21723 bytes 160 pkt (dropped 21, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc netem 10: dev s1-eth1 parent 5:1 limit 1000 loss 10%
 Sent 21723 bytes 160 pkt (dropped 21, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s3-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 4942 bytes 36 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth2 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 23646 bytes 173 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s4-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 6025 bytes 52 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth3 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 23018 bytes 160 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s5-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 4002 bytes 24 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth4 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 24586 bytes 185 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s6-eth1 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 5587 bytes 43 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 5: dev s1-eth5 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 23720 bytes 169 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 

'''
searchObj = re.findall( r's\d-eth\d', output, re.M|re.I)
searchObj2 = re.findall( r'dropped \d*', output, re.M|re.I)

# print searchObj
# print searchObj2
print {i:j for i in searchObj for j in searchObj2}

Output:

{'s1-eth2': 'dropped 0', 's4-eth2': 'dropped 0', 's4-eth3': 'dropped 0', 's4-eth1': 'dropped 0', 's4-eth6': 'dropped 0', 's4-eth7': 'dropped 0', 's4-eth4': 'dropped 0', 's4-eth5': 'dropped 0', 's4-eth8': 'dropped 0', 's4-eth9': 'dropped 0', 's1-eth5': 'dropped 0', 's1-eth4': 'dropped 0', 's5-eth1': 'dropped 0', 's1-eth1': 'dropped 0', 's1-eth3': 'dropped 0', 's3-eth6': 'dropped 0', 's3-eth5': 'dropped 0', 's3-eth4': 'dropped 0', 's3-eth3': 'dropped 0', 's3-eth2': 'dropped 0', 's3-eth1': 'dropped 0', 's2-eth1': 'dropped 0', 's2-eth2': 'dropped 0', 's2-eth3': 'dropped 0', 's2-eth4': 'dropped 0', 's2-eth5': 'dropped 0', 's2-eth6': 'dropped 0', 's6-eth4': 'dropped 0', 's6-eth5': 'dropped 0', 's6-eth6': 'dropped 0', 's6-eth1': 'dropped 0', 's6-eth2': 'dropped 0', 's6-eth3': 'dropped 0'}

Upvotes: 0

Related Questions