我必须更改包含该属性的属性文件:
ro.product.firmware=0.0.1
具有来自 bash 脚本的不同部分中调用的函数的新值。我无法让正则表达式正常工作。对于这种特殊情况,我需要将值从 0.0.1 更改为 $1,但该值并不总是 0.0.1。我目前拥有的正则表达式是:
sed -i 's/^(ro\.product\.firmware).*$/(ro\.product\.firmware="$1")'
答案1
这应该适用于您的情况:
sed -ri 's/^(ro\.product\.firmware\=)(.*)$/\1'"$1"'/g' file.txt
这里,
-r ==> for using extended regex
\1 ==> for the first captured group
答案2
#!/bin/bash
#some logic
export value=$(some_function)
#note the export
#more code
perl -ie 's/^ro\.product\.firmware.*$/ro.product.firmware=$ENV{value};'
#yada yada yada