我想用SED打印匹配彭定康,例如:
我想要得到的UUID,這樣我就可以使用這個:
blkid $1 | grep -o -E "[a-f0-9-]{8}([a-f0-9-]{4}){3}[a-f0-9-]{12}"
我該怎麼辦這使用sed或awk?如何使用SED打印匹配彭定康
1
A
回答
3
你想要這個嗎?
AWK:
kent$ echo '/dev/sda6: UUID="c6e3ce88-f44e-4261-9178-042db8423081" TYPE="ext3"'|awk -F'UUID="|" ' '{print $2}'
c6e3ce88-f44e-4261-9178-042db8423081
的sed:
kent$ echo '/dev/sda6: UUID="c6e3ce88-f44e-4261-9178-042db8423081" TYPE="ext3"'|sed -r 's/.*UUID="([^"]*).*"/\1/g'
c6e3ce88-f44e-4261-9178-042db8423081
2
sed
sed -n 's/pattern/&/p' file
-n
是告訴sed
安靜,&
匹配字符串,p
是打印。
awk
awk '/pattern/' file
在你的情況下,改變pattern
到[a-f0-9-]{8}([a-f0-9-]{4}){3}[a-f0-9-]{12}
,可能需要使用\
逃脫[
。
+0
模式是錯誤的。正確的:[a-f0-9 - ] {8} - ([a-f0-9 - ] {4} - ){3} [a-f0-9 - ] {12} – vak
0
awk和SED的解決方案:
$ blkid /dev/sda2 | sed -e 's/.*UUID="\([0-9A-F]*\).*/\1/'
16A42BA2A42B837B
$ blkid /dev/sda2 | awk '{split($2, tmp, "=") ; print tmp[2]}'
"16A42BA2A42B837B"
$ blkid /dev/sda2 | awk -F'UUID="|"' '{print $2}'
16A42BA2A42B837B
1
blkid | sed -nr 's/^.+UUID="(.*?)" .+$/\1/p'
0
用sed:
sed -n 's/.*\(Pattern\).*/\1/p'
測試
回聲 「< TextValue>開始</TextValue>」 < TextValue>開始</TextValue> echo「< TextValue>開始</TextValue>」| sed -n's /。 (開始)。/\ 1/p' 開始
相關問題
- 1. 如何打印只與sed匹配?
- 2. sed:只打印匹配組
- 3. 如何使用sed,awk或gawk打印只匹配的內容?
- 4. 只打印出匹配在sed
- 5. 時間戳彭定康
- 6. sed -n s/pattern/\ 1/p打印既匹配又不匹配?
- 7. 提取物,如果彭定康發現
- 8. grep/sed:如何打印*東西*什麼都沒有匹配時
- 9. 只有在sed中匹配時纔打印特定行號
- 10. 如何在使用sed匹配模式時打印最後幾行?
- 11. 如何打印值/值是在匹配模式的下一行使用sed的
- 12. 打印匹配和不匹配的行; awk:打印匹配組
- 13. 打印特定行使用sed的
- 14. 用sed打印每個匹配模式的第一行
- 15. 如何與sed匹配?
- 16. 如何使用sed從給定文本打印部分文本
- 17. SED用於在匹配特定圖案後打印線條的命令
- 18. 如何轉換這種彭定康在JavaScript正則表達式
- 19. 如何打印不匹配字符串
- 20. 如何打印不匹配的行?
- 21. AWK/SED:文件和打印一切的匹配模式之間
- 22. 打印匹配和非匹配模式
- 23. AWK以匹配使用部分匹配和打印消息
- 24. 只有打印定義的str_word_count匹配?
- 25. 如何使用`awk`打印正則表達式匹配?
- 26. 如何使用awk打印與模式匹配的行塊?
- 27. 如何使用awk打印每第n個匹配
- 28. 打印所有$匹配PHP
- 29. 從樹打印匹配
- 30. 如何在不使用模式匹配的情況下打印特定行
謝謝,這就是我想要的 – zjhui