2017-06-28 6 views
-3
sed -i -e "s/.*web_listen_uri.*/web_listen_uri = http://$staticip:9000/ g" 

Was ist das Problem in dieser Zeichenfolge? wenn sie ausgeführt wird, zeigt dies sed: -e Ausdruck # 1, char 45: unbekannte Option auf `s'Fehler beim Ausführen des Sed Editors

ich mit Begrenzungszeichen versucht haben, aber immer noch denselben Fehler

+0

Sie müssen '/' in der Ersetzungszeichenfolge auskommentieren. –

+0

Nimm dir einen Moment, sieh dir den Befehl an. Was siehst du? – hek2mgl

+0

Ich habe versucht zu entkommen/aber nicht funktioniert – Sreejith

Antwort

0

Ändern Sie Ihren sed-Befehl zu sed -i -e "s/.*web_listen_uri.*/web_listen_uri = http:\/\/$staticip:9000/g". Und hier ist das Beispiel diesen Befehl zu verwenden,

$ cat test 
aaaaa web_listen_uri. bbbbb 
$ sed -i -e "s/.*web_listen_uri.*/web_listen_uri = http:\/\/$staticip:9000/g" test 
$ cat test 
web_listen_uri = http://192.168.1.1:9000 

Sie müssen / zu \/ für sed entkommen zu nutzen.

0

Sie haben / im Ersetzungsstring zu entkommen . Zusätzlich gibt es einen Platz vor dem endgültigen g, der ebenfalls problematisch sein könnte.

+0

eigentlich ich bin neu zu diesem Sed Editor können Sie mir bitte sagen, wie die/in der Zeichenfolge zu entkommen – Sreejith

+0

Verwenden Sie '\ /' wann immer Sie wollen '/' –

+0

Danke für die Antwort – Sreejith

Verwandte Themen