Получение данных BusID из lspci и сохранение в переменной
Я пытаюсь получить BusID каждой видеокарты, хранящейся на сервере, и помещаю их в переменную, каждый из которых будет использоваться для ввода в простой скрипт поиска и замены perl. Как мне получить BusID для каждого устройства в списке, например, при запуске "lspci | grep VGA".
Спасибо
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