Ich versuche, um SED einen String mit AWK RohrAWK Rohrausgang SED zu ersetzen
grep pdo_user /html/data/_default_/configs/application.ini | awk '{print $3}' | sed -i 's/$1/"username"/g' /html/data/_default_/configs/application.ini
zu ersetzen, aber gefunden Zeichenfolge nicht
Ausgang für
grep pdo_user /html/data/_default_/configs/application.ini | awk '{print $3}'
ist
"root"
Irgendwelche Tipps dazu?
Siehe auch: [Unterschied zwischen einfachen und doppelten Anführungszeichen in Bash] (http: //stackoverflow.com/q/6697753/3776858) – Cyrus
Aber '$ 3' von' AWK' ist ein String '" root "' den ich jedes Mal ersetzen muss mit '" benutzername "' – JackTheKnife
Ich schlage vor, 's zu ersetzen/$ 1/"username"/g'' von ''s /'" $ 1 "'/" username "/ g''. '$ 1' sollte keine Sonderzeichen enthalten, die sed als Befehle interpretieren könnte. – Cyrus