Назад | Перейти на главную страницу

Получение вывода BusID из lspci и сохранение в переменной

Я пытаюсь получить BusID каждой видеокарты, хранящейся на сервере, и поместить их в переменную, каждый из которых будет использоваться для ввода в простой сценарий поиска и замены perl. Как я могу получить BusID каждого устройства в списке, например, при запуске "lspci | grep VGA".

Спасибо

Вы можете использовать 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