Enviado em 06/04/2024 - 11:23h
lspci -nn
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 13)
Resultado seria:
1022:780b
Enviado em 06/04/2024 - 11:23h
Enviado em 06/04/2024 - 11:41h
lspci -nn | grep -o '[0-9a-zA-Z]\{4\}:[0-9a-zA-Z]\{4\}' Enviado em 06/04/2024 - 11:23h
Enviado em 06/04/2024 - 11:28h
Enviado em 06/04/2024 - 11:33h
Enviado em 06/04/2024 - 11:34h
Enviado em 06/04/2024 - 11:55h
Enviado em 06/04/2024 - 16:44h
lspci -nn|gawk '{gsub("[][]", "");print $(NF-2)}'
lspci -nn | grep -Eo '[[:alnum:]]{4}:.{4}'
lspci -nn|sed -r 's/(.*)(\[)([a-z0-9]{4}:[a-z0-9]{4})(\].*)/\3/I'
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________
Enviado em 07/04/2024 - 11:31h
$ echo '00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 13)' | sed "s/.*\[//;s/\].*//"Também da para fazer usando o cut ao invés do sed.
echo '00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 13)' | cut -d"[" -f4 | cut -d"]" -f1Na verdade o sed que escreve é mais rapido que o sed o msoliver, verifique abaixo:
$ i=0; time while [[ $i != 15000 ]]; do echo '00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 13)' | sed "s/.*\[//;s/\].*//"; echo $(((i++))); echo $i; done
$ i=0; time while [[ $i != 15000 ]]; do echo '00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 13)' | sed -r 's/(.*)(\[)([a-z0-9]{4}:[a-z0-9]{4})(\].*)/\3/I'; echo $(((i++))); echo $i; done O sed do msoliver executa esses comandos com diferença de 7seg mais lento que o sed que escreve. é bastante a diferença.i=0; time while [[ $i != 15000 ]]; do echo '00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:780b] (rev 13)' | cut -d"[" -f4 | cut -d"]" -f1; echo $(((i++))); echo $i; done
Entre na sua conta para responder.