2015-08-14 55 views
0

版本= 0.1.2-2-gb12431b-3.4.5在bash如何從字符串的後面取出子串匹配

什麼是在bash最好的工具從後面取出子從連字符開始串(-3.4.5)。

我想new_version = 0.1.2-2-gb12431b,刪除子字符串。任何關於什麼是正確的做法的建議。

+0

嗯。這可以說是重複的一些問題,但我仍然在尋找一個有我喜歡的答案。 :) –

回答

5

Parameter Expansion(現有鏈接是相關的手冊頁部分):

new_version=${version%-*} 

因爲這僅僅是一個單一%,作爲非貪婪的表達式進行求值,因此它停止在第一劃線。

使用參數擴展可以避免任何對外部工具(cut,awk,sed等)的調用 - 因此效率更高。


參見:

+0

非常感謝。簡直不敢相信它是如此簡單:)。 – user245011

相關問題