| 1 | #! /usr/bin/awk -f |
| 2 | |
| 3 | /^[0-9]+:/ { |
| 4 | sub(":$", "", $1) |
| 5 | sub(":$", "", $2) |
| 6 | sequence = $1 |
| 7 | interface = $2 |
| 8 | interfaces[sequence] = interface |
| 9 | } |
| 10 | |
| 11 | /^ +inet [0-9]/ { |
| 12 | sub("/[0-9]+", "", $2) |
| 13 | addr = $2 |
| 14 | addrs[interface] = addr |
| 15 | } |
| 16 | |
| 17 | /^ +RX: / {transfer_direction = "r"} |
| 18 | /^ +TX: / {transfer_direction = "w"} |
| 19 | |
| 20 | /^ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ *$/ { |
| 21 | io[interface, transfer_direction] = $1; |
| 22 | } |
| 23 | |
| 24 | END { |
| 25 | for (seq=1; seq<=sequence; seq++) { |
| 26 | interface = interfaces[seq] |
| 27 | label = substr(interface, 1, 1) |
| 28 | addr = addrs[interface] |
| 29 | if (addr) { |
| 30 | curr_read = io[interface, "r"] |
| 31 | curr_write = io[interface, "w"] |
| 32 | print(interface, addr, curr_write, curr_read) |
| 33 | } else { |
| 34 | print(interface) |
| 35 | } |
| 36 | } |
| 37 | } |