
この属性を含む属性ファイルを変更する必要があります。
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