#! /usr/bin/awk -f /^[0-9]+:/ { sub(":$", "", $1) sub(":$", "", $2) sequence = $1 interface = $2 interfaces[sequence] = interface } /^ +inet [0-9]/ { sub("/[0-9]+", "", $2) addr = $2 addrs[interface] = addr } /^ +RX: / {transfer_direction = "r"} /^ +TX: / {transfer_direction = "w"} /^ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ *$/ { io[interface, transfer_direction] = $1; } END { for (seq=1; seq<=sequence; seq++) { interface = interfaces[seq] label = substr(interface, 1, 1) addr = addrs[interface] if (addr) { curr_read = io[interface, "r"] curr_write = io[interface, "w"] print(interface, addr, curr_write, curr_read) } else { print(interface) } } }