我想从这个字符串中versionCode
提取:versionName
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
我认为我应该采取以下行动:
versionCode
在字符串中查找。- 从我们在步骤 1 中找到的位置开始查找'(单引号)。
- 读取字符直到出现另一个单引号。
- 重复相同过程(1~3)
versionName
但我不知道如何使用 Bash 脚本来做到这一点。请帮帮我 @_@
答案1
考虑到您想要从中提取 versionCode 和 versionName 的字符串将始终采用您提供的格式。
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
假设上面的字符串保存在文件名下package_info
,然后使用切会简单并且更快:
获取
versionCode
cut -d "'" -f 4 package_info
获取
versionName
cut -d "'" -f 6 package_info
结合两者
cut -d "'" -f 4,6 package_info
关于 cut 的简要介绍:
cut
实用程序根据delimiter
(默认为空格)和提取子字符串fields/characters
。
- 默认情况下,分隔符是
literal space
,可以使用-d
。 - 就你的情况而言,分隔符是
'
-f
告诉 cut根据定义的分隔符提取相对编号的字段(此处4
或)。6
对于一些实际操作,访问这里并随意添加更多细节。