如何从bash中的AndroidManifest.xml中提取包名(substring)

时间:2015-12-01 16:17:18

标签: android bash

我想提取子串" com.example.alice"来自

<manifest xmlns:android="http://schemas.android.com/apk/res/android"                                                                                           
android:versionCode="10" package="com.example.alice">

我这样做:

ID=$(sed -n 's/package="\(.*\)/"\1/p' src/main/AndroidManifest.xml)

但它只适用于&#34;包=&#34;是一个单独的行,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.alice"
    android:versionCode="10003"
    android:versionName="1.0.3">

1 个答案:

答案 0 :(得分:1)

赛勒斯的建议很好。您还可以使用grep和后视:

获取值
$ grep -Po '(?<=package=)"[^"]*"' file
"com.example.alice"

也就是说,打印package=之后到下一个"之后的所有内容。