簡體   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