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