如何剪断部分线?

如何剪断部分线?

我需要在特定时刻切线,我想显示 GPU 名称,但只显示名称,不显示其他内容。

inxi -Gx | grep 设备显示:

Device-2: NVIDIA GK107GLM [Quadro K1100M] vendor: Dell driver: nouveau

我希望它显示类似这样的内容

NVIDIA GK107GLM [Quadro K1100M]

如何剪切以仅显示名称?有没有办法打印范围,在本例中从字 Device 到字 vendor。

答案1

尝试这样做:

inxi -Gx | sed -n 's/.*Device-.*: \(.*\) vendor.*/\1/p'

答案2

就像是:

D=$(inxi -Gx | grep Device)

if [[ $D =~ ^Device-2:([[:print:]]*)vendor:([[:print:]]*)driver:([[:print:]]*)$ ]]
then
  echo "Found Device: ${BASH_REMATCH[1]}"
else
  echo "Did not find device"
fi

答案3

inxi -Gx | grep -oi nv.*]
inxi -Gx | awk '/Device/{print $2,$3,$4,$5}'

答案4

inxi -Gx | grep Device | cut -d ':' -f 2 | sed 's/ vendor//'

cut将使用“:”作为分隔符将输出拆分成多个字段,然后为您提供第二个字段。然后使用 sed 从末尾删除特定单词。

如果您知道长度,那么您可以使用剪切一个范围cutman cut有关详细信息,请参阅。

相关内容