Ist es bei einer einzelnen Eingabedatei, die nur Kommentare (beginnend mit #) und VARIABLE = Wertzeilen enthält, möglich, einen Wert für eine einzelne Variable zu ersetzen, wenn sie gefunden wird, und das Paar andernfalls an das Dateiende anzuhängen, wenn sie nicht gefunden wird?
Meine aktuelle Methode löscht sie in einem ersten Durchgang und hängt sie dann in einem zweiten Durchgang an das Ende der Datei an. Diese Methode bringt jedoch die Zeilenreihenfolge durcheinander (und besteht auch aus zwei verschiedenen Befehlen):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Gibt es sowieso dafür, dh. Zeilenreihenfolge in einer einzigen Sed-Zeile einhalten? Wenn ein anderes Dienstprogramm (awk, ...) dies tut, übernehme ich sed.
newvalue
es in einer Variablen gespeichert ist?