我正在尝试获取存储在服务器中的每个视频卡的 BusID,并将它们放入变量中,每个变量都用于简单的查找和替换 perl 脚本的输入。例如,当我运行“lspci | grep VGA”时,我该如何获取列出的每个设备的 BusID。
谢谢
答案1
您可以使用 awk 通过空格来划分输出。在下面的片段中(假设 返回了一行lspci | grep VGA
)$1
, 指的是空格前的第一个组件。 $2 将是 VGA,$3 兼容,等等...如下所示:
00:0f.0 VGA compatible controller: VMware Inc Abstract SVGA II Adapter
在 Bash 中,您可以通过 awk 提取组件并将其分配给 $var,如下所示:
var=$(lspci |grep VGA | awk '{ print $1 }')
echo $var
应该返回00:0f.0