sed: Ersetzen Sie einen Teil einer Linie

Wie kann man einen Teil einer Linie durch sed ersetzen?

Die Linie

DBSERVERNAME     xxx

sollte ersetzt werden durch:

DBSERVERNAME     yyy

Der Wert xxx kann variieren, und zwischen dbservername und dem Wert befinden sich zwei Registerkarten. Dieses Name-Wert-Paar ist eines von vielen aus einer Konfigurationsdatei.

Ich habe es mit folgendem Rückverweis versucht:

echo "DBSERVERNAME    xxx" | sed -rne 's/\(dbservername\)[[:blank:]]+\([[:alpha:]]+\)/\1 yyy/gip'

und das führte zu einem Fehler: Ungültiger Verweis \ 1 auf die RHS des Befehls `s '.

Was stimmt nicht mit dem Ausdruck? Verwendung von GNU sed.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage