Hello,
Ich würde aber wohl generell eher folgendes machen:
Erstmal nach der kompletten korrekten Zeile suchen:
Teil bis zum String abtrennen:
Und dann die neue Zeile zusammen basteln:
Dann mit sed die komplette alte Zeile durch die neue ersetzen lassen:
Hatte ich auch erst gedacht.
Aber wenn ich schon sed oder awk einsetze, brauch eich für diese einfache Ersetzung kein grep und kein cut mehr.
Meine gepostet Lösung ist zwar nicht vollständig für die reale Welt, man kann aber aus dem geposteten und getesteten Code erkennen, was noch fehlt.
Zur Zeit werden alle Zeilen, die eine Zuweisung mit = enthalten modifiziert. Will man das nicht, muss man nur die Suche etwas genauer definieren und die Ersetzung eben ergänzen.
Leider ist mir bisher verborgen geblieben, ob sed Back References oder hier vielmehr Forward References untersützt. Dann könnte man das auch noch universeller machen.
Achtung, hier würde direkt die Originalfatei 'source1.txt' verändert werden.
sed -i 's/assword *= *".*";/assword = "neues_PW";/' source1.txt
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg