我需要使用 sed 从 shell 脚本替换 xml 文件中的 versionName。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.sed"
android:versionCode="1"
android:versionName="UNKNOWN VERSION NAME">
Run Code Online (Sandbox Code Playgroud)
我已经搜索了包含 versionName 的行,但是如何告诉 sed 替换 versionName 之后直接出现的双引号内的所有内容?
sed -i .old '/versionName/ s/WHAT TO WRITE?/NEW VERSION NAME/' AndroidManifest.xml
Run Code Online (Sandbox Code Playgroud)
替换not-"
,像这样:
sed -i .old '/android:versionName/ s/="[^"][^"]*"/="NEW VERSION NAME"/' AndroidManifest.xml
Run Code Online (Sandbox Code Playgroud)