0
版本= 0.1.2-2-gb12431b-3.4.5在bash如何從字符串的後面取出子串匹配
什麼是在bash最好的工具從後面取出子從連字符開始串(-3.4.5)。
我想new_version = 0.1.2-2-gb12431b,刪除子字符串。任何關於什麼是正確的做法的建議。
版本= 0.1.2-2-gb12431b-3.4.5在bash如何從字符串的後面取出子串匹配
什麼是在bash最好的工具從後面取出子從連字符開始串(-3.4.5)。
我想new_version = 0.1.2-2-gb12431b,刪除子字符串。任何關於什麼是正確的做法的建議。
Parameter Expansion(現有鏈接是相關的手冊頁部分):
new_version=${version%-*}
因爲這僅僅是一個單一%
,作爲非貪婪的表達式進行求值,因此它停止在第一劃線。
使用參數擴展可以避免任何對外部工具(cut,awk,sed等)的調用 - 因此效率更高。
參見:
非常感謝。簡直不敢相信它是如此簡單:)。 – user245011
嗯。這可以說是重複的一些問題,但我仍然在尋找一個有我喜歡的答案。 :) –