2017-09-20 57 views
-2

我的路線是:/dev/xvdb1: UUID="5950368c-7bf0-45f6-a2b7-d53d3f3bcfa7" TYPE="ext4"得到線選擇性細節UNIX

可有一個人給我的unix命令來獲得

UUID = 「5950368c-7bf0-45f6-A2B7-d53d3f3bcfa7」

從這整行中,命令應該是這樣的,不管前後所需的行是什麼,即UUID =「5950368c-7bf0-45f6-a2b7-d53d3f3bcfa7」,我應該只有這麼多輸出...

感謝

+0

看起來像'blkid'輸出 - 如果是這樣,使用它的'-s'選項可能會更簡單:'blkid/dev/xvdb1 -s UUID -o value'。 –

+0

你試過了嗎? – jww

回答

-1

不帶引號:

<your-command>| grep -oP 'UUID="\K[^"]+' 
5950368c-7bf0-45f6-a2b7-d53d3f3bcfa7 

,隨着行情:

<your-command>|grep -oP 'UUID=".*?"' 
UUID="5950368c-7bf0-45f6-a2b7-d53d3f3bcfa7" 

注:

.*?":這意味着零個或多個字符,直到 「最近」 雙引號。

+0

請解釋爲什麼你低估了,是否有任何錯誤的任何範圍的錯誤? –

-1

使用cut command是一個選項:

$ a='/dev/xvdb1: UUID="5950368c-7bf0-45f6-a2b7-d53d3f3bcfa7" TYPE="ext4"' 
$ echo $a | cut -d ' ' -f 2 
UUID="5950368c-7bf0-45f6-a2b7-d53d3f3bcfa7" 

-d ' '告訴cut使用空間分隔符,並-f 2告訴返回的第二部分。

+0

*感謝*未知的用戶對downvote,這是真正的*建設性和激勵。*你會如此善良,幫助我理解爲什麼我的答案值得downvote?它出什麼問題了?我該如何改進它? – juzraai