awk '
BEGIN { RS=""; FS="\n" }
{
device=""; subsystem=""; numa=""; msi_caps=""
for (i=1; i<=NF; i++) {
if ($i ~ /^[0-9a-f]{2}:[0-9a-f]{2}\.[0-9]/) device=$i
if ($i ~ /^\tSubsystem:/) subsystem=$i
if ($i ~ /^\tNUMA node:/) numa=$i
if ($i ~ /Capabilities:.*MSI-X:/) msi_caps = msi_caps "\n" $i
else if ($i ~ /Capabilities:.*MSI:/) msi_caps = msi_caps "\n" $i
else if ($i ~ /Capabilities:.*Express.*MSI/) msi_caps = msi_caps "\n" $i
}
if (device && msi_caps && !seen[device]++) {
print device
if (subsystem) print subsystem
if (numa) print numa
print msi_caps
print ""
}
}' ./<sosreport_name>/sos_commands/pci/lspci_-nnvv