З єдиним вхідним файлом, який містить лише коментарі (починаючи з #) та VARIABLE = рядки значень, чи можливо замінити значення для однієї змінної, якщо вона знайдена, і, інакше, додати пару до кінця файлу, якщо вона не знайдена?
Мій поточний метод працює, видаляючи його в першому проході, потім додаючи його до кінця файлу у другому проході, але цей метод переплутує впорядкування рядків (а також є двома різними командами):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Чи потрібно це зробити, тобто дотримання порядку порядку в одній сед-лінії? Якщо якась інша утиліта (awk, ...) зробить це, я візьму її за sed.
newvalue
він зберігається у змінній?