W przypadku pojedynczego pliku wejściowego zawierającego tylko komentarze (zaczynające się od #) i ZMIENNE = wiersze wartości, czy można zastąpić wartość jednej zmiennej, jeśli zostanie znaleziona, a w przeciwnym razie dołączyć parę na końcu pliku, jeśli nie zostanie znaleziona?
Moja obecna metoda polega na usunięciu jej w pierwszym przejściu, a następnie dołączeniu jej na końcu pliku w drugim przejściu, ale ta metoda mierzy kolejność wierszy (i są to również dwa różne polecenia):
sed -r "/^FOOBAR=.*$/d" -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Czy można to zrobić, tj. utrzymywanie kolejności linii, w jednej linii sed? Jeśli zrobi to jakiś inny program narzędziowy (awk, ...), przejmę to.
newvalue
było przechowywane w zmiennej?