2017-03-14 3 views
0

Ich denke, das ist etwas offensichtlich, aber ich kann es nicht erkennen.Sed und Ersetzen einer Zeichenfolge

Ich beantrage diese

sed
sed -i -e 's/\\$\\{hcvar/" + hcvar/g' -e 's/\\}/ + "/' 

Auf diesen Text

.text, r"^\$\{hcvarAuthorFirstName\}, \$\{hcvarAuthorLastName\}[\s\S]*$") 

Und es gibt

.text, r"^" + hcvarAuthorFirstName + ", " + hcvarAuthorLastName\}[\s\S]*$") 

Alle korrekt ist, mit Ausnahme des letzten Teils, sollte es sein

.text, r"^" + hcvarAuthorFirstName + ", " + hcvarAuthorLastName + "[\s\S]*$") 

Grundsätzlich die \} Entfernen und Ersetzen mit + "

Es scheint für $\{hcvarAuthorFirstName\} zu arbeiten, aber nicht $\{hcvarAuthorLastName\}

bin ich etwas fehlt?

+1

die 'g' Flag für die zweite regex fehlt ... – Sundeep

Antwort

0

basierend auf Ihrer Probe, kann ich vorschlagen:

sed -i -e 's/\\$\\{\(hcvar[^\\]*\)\\}/" + \1 + "/g' 
Verwandte Themen