Com um único arquivo de entrada que contém apenas comentários (começando com #) e VARIABLE = linhas de valor, é possível substituir um valor por uma única variável se encontrada e, caso contrário, anexar o par ao final do arquivo se não for encontrado?
Meu método atual funciona excluindo-o em uma primeira passagem e, em seguida, anexando-o ao final do arquivo em uma segunda passagem, mas esse método altera a ordem das linhas (e também possui dois comandos diferentes):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Existe alguma maneira de fazer isso, ie. mantendo a ordem da linha, em uma única linha sed? Se algum outro utilitário (awk, ...) fizer isso, eu assumirei o comando sed.
newvalue
fosse armazenado em uma variável?