0
A
回答
2
可以通過管道將你的命令的sed:
yourvar=$(xinput | sed '/Razer/s/.*id=\([0-9]*\).*/\1/')
/Razer/
:當含有Razer
行發現s/.*id=\([0-9]*\).*/\1/
:抓住id的值,並使用反向引用打印。
1
grep
溶液:在這裏,如果任何行包含雷蛇隨後ID則ID被打印。這裏使用perl
正則表達式使用-p
標誌grep
命令。 \K
表示忽略它的所有內容。
xinput |grep -oP 'Razer.*id=\K[^ ]+'
12
使用gawk
的匹配功能:
awk '/Razer/{match($0,/id=([^ ]+)/,a);print a[1]}'
12
0
,如果你已經GNU AWK
或gawk
你可以做下面的了。
id=$(xinput | awk '/Razer/{printf "%s",gensub(/^.*id=[[:digit:]]*).*$/,"\\1",$0)}')
相關問題
- 1. Bash:分配給一個變量使用另一個變量+文本
- 2. 分配一個命令輸出給一個變量(bash)的
- 3. 如何將一個多行值分配給一個bash變量
- 4. Bash子串和參數擴展不分配給變量
- 5. 使用bash將一行中的字符串分配給變量
- 6. Bash將尾值分配給變量
- 7. 無法將UUID分配給bash變量
- 8. 如何數組長度分配給一個變量在bash
- 9. 如何使用bash將函數的輸出分配給變量?
- 10. shell腳本 - 將一個變量分配給另一個變量
- 11. 分配行爲給一個變量
- 12. 將命令分配給一個變量
- 13. 設置的分配給一個變量
- 14. 分配返回值給一個變量
- 15. Bash - 將變量`find`分配給變量時的奇怪行爲
- 16. 分配給變量
- 17. 多個變量分配給Javascript中的一個變量?
- 18. 如何將輸出分配給兩個bash數組變量
- 19. 查找字數使用廁所,並分配給一個變量
- 20. 我已將Laravel Query Builder分配給一個變量。使用
- 21. 如何使用os.system的輸出分配給一個變量
- 22. C#將一個變量分配給一個類調用
- 23. 引用一個表格分配給一個變量在jQUERY
- 24. 比較2個變量的長度和最長分配給另一個變量
- 25. bash,用另一個變量替換變量的一部分
- 26. 想要在聲明變量時給變量分配一個值
- 27. 將變量分配給JMeter中的另一個變量
- 28. 分配變量的值給另一個變量在TCL
- 29. 將變量分配給另一個變量名稱
- 30. 將變量的範圍分配給另一個變量
你好,你想改變你的正則表達式爲'/^.* id =([[:digit:]] *)。* $ /'? –
@PS:你是對的,當我從我的虛擬機複製命令時,發生'='修剪。 – sjsam