2017-09-04 3 views
0

Ich versuche, den Linux sed Befehl zu verwenden, um assoziative Array-Werte in einer PHP-Konfigurationsdatei zu ersetzen. Auf MacOS läuft alles gut, aber unter Linux bekomme ich einen Fehler.Unix-Befehl "sed" zum Ersetzen von PHP assoziativen Array-Werten

Befehl

sed -i .back "s/'param'.*=>.*/'param' => 'value',/" config.php

Error (linux): sed: -e Ausdruck # 1, char 1: unbekannter Befehl:. `‘

Welche geeignete Lösung wäre es, PHP-Array-Werte durch den sed Befehl zu ersetzen?

+0

zeigen Sie ein Fragment Ihrer Konfigurationsdatei mit zu ersetzenden assoziativen Array-Werten an – RomanPerekhrest

Antwort

0

Es darf kein Raum zwischen -i und .back auf GNU sein sed:

sed -i.back 's/.../.../' file 

Wenn Sie nicht über die Sicherungsdatei kümmern können Sie die Option Wert weglassen vollständig auf GNU sed:

sed -i 's/.../.../' file