Ich weiß, ich kann dies mit SED tun. Aber in meiner spezifischen Aufgabe ist es etwas komplex. So konnte ich es trotz der vielen Beispiele auf dieser Seite nicht herausfinden.Suchen und Ersetzen Zeichenfolge im Bash-Skript mit SED
Ich habe eine Konfigurationsdatei mit Anmeldeinformationen.
<username><![CDATA[prefix_cms]]></username>
<password><![CDATA[complexpwd]]></password>
<dbname><![CDATA[prefix_cms]]></dbname>
Ich möchte alle Anmeldeinformationen in einen neuen eindeutigen Wert ändern. Dies ist ein Problem, wenn ich eine Ersetzung mit SED finde, weil es den Benutzernamen UND den Datenbanknamen auf seinen neuen Wert ändert.
Die neuen Werte sollten zum Beispiel sein:
newusername
newpassword
newdbname
Wie würde ich das tun? Ich habe nach dem ersten Vorfall in SED gesucht, konnte es aber aus irgendeinem Grund nicht funktionieren lassen.
Ich habe auch versucht, die gesamte Zeile einschließlich der XML und CDATA protions zu finden und zu ersetzen, aber das macht es komplexer wegen der speziellen Zeichen.
Wie kann ich das lösen?
EDIT:
Der Ausgang Ich suche.
<username><![CDATA[newusername]]></username>
<password><![CDATA[newpassword]]></password>
<dbname><![CDATA[newdbname]]></dbname>
Auf der Suche nach der ersten Antwort, die ich sehe, war ich nicht sehr klar über das, was ich wollte.
EDIT2:
ich eine perfekte Lösung hier gefunden: Sed regex change of file
Warum -1? Feedback? – Akif
können Sie die gesamte erwartete Ausgabe aus Gründen der Übersichtlichkeit posten? es gibt keine Überschneidung, um irgendeine Art von Problem vorzuschlagen, also fügen Sie auch Ihren Versuch hinzu, damit Sie erfahren können, wo Sie schief gelaufen sind ... und auch ich habe nicht abgelehnt ... – Sundeep
Ich habe nicht abgestimmt, aber ich frage mich, wo ist die erwartete Leistung oder die Mühe, die Sie hineingesteckt haben? –