sed AndroidManifest版本

时间:2012-01-21 03:16:08

标签: android linux sed

我一直在撞墙,我需要一个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>

3 个答案:

答案 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