sed 匹配字符后替换

Joh*_*ohn 4 shell sed shell-script

我必须更改包含该属性的属性文件:

ro.product.firmware=0.0.1 
Run Code Online (Sandbox Code Playgroud)

使用来自我的 bash 脚本不同部分中调用的函数的新值。我无法让正则表达式正常工作。对于这种特殊情况,我需要将值从 0.0.1 更改为 $1,但该值并不总是 0.0.1。我目前拥有的正则表达式是:

sed -i 's/^(ro\.product\.firmware).*$/(ro\.product\.firmware="$1")'
Run Code Online (Sandbox Code Playgroud)

shi*_*ams 5

这应该适用于您的情况:

sed -ri 's/^(ro\.product\.firmware\=)(.*)$/\1'"$1"'/g' file.txt
Run Code Online (Sandbox Code Playgroud)

这里,

-r ==> for using extended regex
\1 ==> for the first captured group
Run Code Online (Sandbox Code Playgroud)