我一直在撞墙,我需要一个sed one-liner从android清单中提取versionName。 以下示例:
package="com.nosideracing.rchipremote"
android:versionCode="1014"
android:versionName="1.0.1.4" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK" >
</uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
<uses-permission android:name="android.permission.VIBRATE" >
</uses-permission>
答案 0 :(得分:2)
awk -F'"' '/android:versionName/{print $(NF-1); exit}' manifestFile
注意:我还没有测试过。通过电话回复。
答案 1 :(得分:0)
sed -n '/android:versionName="/{;s///;s/".*$//;p;q;}' manifestFile
生成
1.0.1.4
或者您想要一个versionCode和versionName的串联,还是?
我希望这会有所帮助。
答案 2 :(得分:0)
这可能对您有用:
sed 's/^android:versionName="\([^"]*\).*/\1/p;d' manifestFile
1.0.1.4