string=value に一致する値を置き換える必要があるため、これが私が思いついたものです。
echo "some string=oldvalue" | sed 's/\(some string\=\)(.*)/\1newvalue/'
それはうまくいきます、同じことを達成するためのより良い、より短い方法があるのだろうかと思います
ティア
string=value に一致する値を置き換える必要があるため、これが私が思いついたものです。
echo "some string=oldvalue" | sed 's/\(some string\=\)(.*)/\1newvalue/'
それはうまくいきます、同じことを達成するためのより良い、より短い方法があるのだろうかと思います
ティア
some_string
が定数値の場合は、次を使用してください。
sed 's/some string=.*/some string=newvalue/'
次のトランスクリプトのように:
pax> echo "some string=oldvalue" | sed 's/some string=.*/some string=newvalue/'
some string=newvalue
ただし、他のキーを取得しないように、開始マーカーの使用を検討することをお勧めします。
sed 's/^some string=.*/some string=newvalue/'
行の残りの部分(たとえば、スペースの後)を保持する場合は、次を使用します。
pax> echo "string=old # comment" | sed 's/string=[^ ]*/string=newvalue/'
string=newvalue # comment
=
これは、後の項目をスペース以外の文字に制限することで機能します。
値に=
s を含めることができない場合は、実行する方が短くなります。
sed 's/=.*/=NEW VALUE/'