You may try something like this:
1.
Code:
awk '/<OKAY>/ {
sub(/>[^>]*$/, "")
sub(/.*RESOURCE: /,"")
print
}' infile
2.
Code:
awk 'END { if (r) print h "\t" r "." }
!NF {
if (r) print h "\t" r "."
f = r = 0; split("", t)
}
/^!ENTRY.*<INFO>/ {
sub(/>[^>]*$/, ""); sub(/.*RESOURCE: /, "")
h = $0; f = 1
}
f && /!SUBENTRY/ { f++ }
f > 1 && sub(/!MESSAGE /, "") {
sub(/.$/, ""); t[$0]++ || r = r ? r ", " $0 : $0
}' infile
|