繁体   English   中英

如何从Linux命令的输出中提取单个单词?

[英]How to extract a single word from the output of a Linux command?

$ lsusb --verbose | grep "THRSL_C_C_V"

结果是:
iManufacturer 1 THRSL_C_C_V3.07

我只想提取单词THRSL_C_C_V3.07

我试过lsusb --verbose | grep -w "THRSL_C_C_V" lsusb --verbose | grep -w "THRSL_C_C_V" 什么也没显示

尝试:

lsusb --verbose | grep -o "THRSL_C_C_V3\.07"

-o选项仅产生匹配的文本,反斜杠转义了点,从而使所请求的文本完全匹配。

您可以使用awk代替grep

lsusb --verbose | awk '/THRSL_C_C_V/{print $3}' 

awk命令搜索其中包含文本THRSL_C_C_V的行,并使用print $3我们确保打印匹配行的第3列。

另外,您可以像这样使用grep -o

echo 'iManufacturer        1 THRSL_C_C_V3.07' |
grep -oE 'THRSL_C_C_V[^[:blank:]]*'

THRSL_C_C_V3.07

使用以下内容:

$ lsusb --verbose | grep "THRSL_C_C_V" |  awk '{print $NF}'

要么

$ lsusb --verbose | awk '/THRSL_C_C_V/{print $NF}'

在这里,$ NF将用于输出的最后一个元素

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM