
我想從這個字串中提取versionCode
和:versionName
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
我想我應該採取以下行動:
versionCode
在字串中查找。- find '(單引號)從我們在步驟 1 中找到的位置開始。
- 讀取字元直到出現另一個單引號。
- 重複相同的過程(1~3)
versionName
但我不知道如何使用 Bash 腳本來做到這一點。請幫幫我 @_@
答案1
考慮到您要從中提取 versionCode 和 versionName 的字串將始終採用您提供的格式。
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
假設上面的字串保存在 filename 下package_info
,然後使用切會很簡單而且更快:
獲取
versionCode
cut -d "'" -f 4 package_info
獲取
versionName
cut -d "'" -f 6 package_info
結合兩者
cut -d "'" -f 4,6 package_info
關於切割的簡介:
cut
實用程式根據delimiter
(預設為空格)和提取子字串fields/characters
。
- 預設情況下分隔符號是
literal space
,可以使用更改-d
。 - 在你的情況下,分隔符號是
'
-f
告訴 cut根據定義的分隔符號提取相對編號的欄位(此處4
或)。6
對於一些實際切割,訪問這裡並隨時添加更多細節。