/usr/sbin/hwinfo --gfxcard | \ awk '/03[08]0 .* controller/ { dev = gensub(/^([^:]*):.*/, "\\1", "g"); } \ /^ Vendor:/ { vendor[dev] = gensub(/.*pci 0x(....).*/, "\\1", "g"); \ name[dev] = gensub(/^.* "(.*)"$/, "\\1", "g"); } \ /^ Device:/ { device[dev] = gensub(/.*pci 0x(....).*/, "\\1", "g"); \ name[dev] = name[dev] " " gensub(/^.* "(.*)"$/, "\\1", "g"); } \ /^ SubVendor:/ { subvendor[dev] = gensub(/.*pci 0x(....).*/, "\\1", "g"); } \ /^ SubDevice:/ { subdevice[dev] = gensub(/.*pci 0x(....).*/, "\\1", "g"); } \ /^ Revision:/ { revision[dev] = gensub(/.*0x(..).*/, "\\1", "g"); } \ /^Primary display adapter: #/ { dev = gensub(/.*#/, "", "g"); \ print vendor[dev] ":" device[dev] ":" revision[dev] ":" subvendor[dev] ":" \ subdevice[dev] " " name[dev] "\n"; }'