/^[+=] / { link[$7] = $0; } /^[-] / { delete link[$7]; } END { printf "%-5s %-22s %-22s %-22s %-22s\n", "Type", "Local", "Public", "Alias", "Proxy"; for (x in link) { $0 = link[x]; if ($6 == "*:*") { printf "%-5s %-22s %-22s %-22s\n", $2, $3, $4, $5; } else { printf "%-5s %-22s %-22s %-22s %-22s\n", $2, $3, $4, $5, $6; } } }