Dengan file input tunggal yang hanya berisi komentar (dimulai dengan #) dan VARIABEL = baris nilai, apakah mungkin untuk mengganti nilai untuk variabel tunggal jika ditemukan dan, jika tidak, menambahkan pasangan ke akhir file jika tidak ditemukan?
Metode saya saat ini bekerja dengan menghapusnya di pass pertama, lalu menambahkannya ke akhir file di pass kedua, tetapi metode ini mengacaukan urutan baris (dan juga dua perintah berbeda):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Apakah ada cara untuk melakukan ini, yaitu. menjaga urutan garis, dalam satu baris sed? Jika beberapa utilitas lain (awk, ...) melakukan ini, saya akan mengambil alih.
newvalue
disimpan dalam variabel?