コメント(#で始まる)とVARIABLE = value行のみを含む単一の入力ファイルで、単一の変数の値が見つかった場合は置換し、見つからない場合はファイルの末尾にペアを追加できますか?
私の現在の方法は、最初のパスでそれを削除してから、2回目のパスでファイルの最後に追加することで機能しますが、このメソッドは行の順序を乱します(また2つの異なるコマンドです):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
とにかくこれを行うにはありますか?単一のsed行で行の順序を維持しますか?他のユーティリティ(awk、...)がこれを行う場合、sedを引き継ぎます。
newvalue
変数に格納されている場合、これはどのようになりますか?