[英]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.