Eu li brevemente o manual do lspci, onde descobri que há uma saída lspci no formato legível por máquina usando "-m" ou "-mm" ou "-vmm".
Eu preciso imprimir o nome do dispositivo, o ID do dispositivo e o driver do módulo do kernel em uso usando o formato legível por máquina.
Eu tentei este comando:
$ lspci -vmm -v -nn -d 10de:0393
Slot: 01:00.0
Class: VGA compatible controller [0300]
Vendor: NVIDIA Corporation [10de]
Device: G73 [GeForce 7300 GT] [0393]
SVendor: Micro-Star International Co., Ltd. [1462]
SDevice: NX7300GT-TD256EH [0412]
Rev: a1
Em comparação com esta saída:
$ lspci -nn -v -d 10de:0393
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G73 [GeForce 7300 GT] [10de:0393] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Micro-Star International Co., Ltd. NX7300GT-TD256EH [1462:0412]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
I/O ports at cc00 [size=128]
[virtual] Expansion ROM at fe9e0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nvidia_current, nouveau, nvidiafb
Você pode ver que o formato normal (não legível por máquina) mostra o driver / módulo do kernel em uso.
Como faço para mostrar as linhas do Driver / Módulo no formato legível por máquina?
No manual, diz que as linhas "Module" e "Driver" são opcionais. Isso significa que eu tenho que compilá-lo da fonte com alguns atributos especiais?
P.S. Eu sei sobre o awk e o sed e outras soluções alternativas, estou curioso para saber por que isso não funciona.
Eu uso o Ubuntu 12.10, pciutils versão 3.1.9-5ubuntu4