$ lspci -tv | grep -E 'Gigabit Network|Gigabit Ether| Ethernet' | grep -oP '(?<=^).*(?=Intel)'
+-01.0-[01-04]----00.0-[02-04]--+-01.0-[03]--+-00.0
| | +-00.1
| | +-00.2
| | \-00.3
| \-03.0-[04]--+-00.0
| \-00.1
+-1c.0-[05]----00.0
+-1c.1-[06]----00.0
Я пытаюсь получить порядок NIC (слот), используя адрес шины PCI из этого дерева.Они представлены как последнее регулярное выражение \[[0-9a-ZA-Z]\]
в данной строке, например, [03],[04],[05]
, а затем подзаголовки, следующие за ними, например, 00.0, 00.1, 00.2
для [03]
.
Мой ожидаемый результат должен быть:
03:00.0
03:00.1
03:00.2
03:00.3
04:00.0
04:00.1
05:00.0
06:00.0
Например, я пробовал это, но не пошел дальше.Я знаю, что это некрасиво, и подойдет любое решение с pipes
или без него.
$ lspci -tv | grep -E 'Gigabit Network|Gigabit Ether| Ethernet' | grep -oP '(?<=\-).*(?=Intel)' | grep -oE '(\[[0-9a-ZA-Z]{2}\])|(\[[0-9a-ZA-Z]{2}\].*[0-9]{2}\.[0-9])|(^[0-0]{2}.[0-9])'
[03]--+-00.0
00.1
00.2
00.3
[04]--+-00.0
00.1
[05]----00.0
[06]----00.0
Выход lspci -tv
.Меня интересуют только сетевые карты.grep Network
, но есть и другие случаи, в которых говорится, Ethernet
.
$ lspci -tv
-[0000:00]-+-00.0 Intel Corporation Skylake Host Bridge/DRAM Registers
+-01.0-[01-04]----00.0-[02-04]--+-01.0-[03]--+-00.0 Intel Corporation I350 Gigabit Network Connection
| | +-00.1 Intel Corporation I350 Gigabit Network Connection
| | +-00.2 Intel Corporation I350 Gigabit Network Connection
| | \-00.3 Intel Corporation I350 Gigabit Network Connection
| \-03.0-[04]--+-00.0 Intel Corporation I350 Gigabit Network Connection
| \-00.1 Intel Corporation I350 Gigabit Network Connection
+-02.0 Intel Corporation HD Graphics P530
+-13.0 Intel Corporation Sunrise Point-H Integrated Sensor Hub
+-14.0 Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller
+-14.2 Intel Corporation Sunrise Point-H Thermal subsystem
+-16.0 Intel Corporation Sunrise Point-H CSME HECI #1
+-16.1 Intel Corporation Sunrise Point-H CSME HECI #2
+-17.0 Intel Corporation Sunrise Point-H SATA controller [AHCI mode]
+-1c.0-[05]----00.0 Intel Corporation I210 Gigabit Network Connection
+-1c.1-[06]----00.0 Intel Corporation I210 Gigabit Network Connection
+-1c.6-[07-08]----00.0-[08]----00.0 ASPEED Technology, Inc. ASPEED Graphics Family
+-1f.0 Intel Corporation Sunrise Point-H LPC Controller
+-1f.2 Intel Corporation Sunrise Point-H PMC
\-1f.4 Intel Corporation Sunrise Point-H SMBus