2017-07-05 3 views
0

mit Ich habe folgenden Inhalt in einer DateiZeichenfolge auf einer Linie Ersetzen sed Befehl

return o.baseUrl="http://info.example.com/api/v1/",a.init=t,o.login=e(o.baseUrl+"login",{email:"@email",password:"@password"} 

Ich möchte info.example.com ersetzen mit api.example.com

Derzeit bin ich mit

sed -i "s/^info\.example\.com.*$/api.example.com/g" /var/html/www/index.js 

Aber das ist funktioniert nicht. Ich weiß nicht viel über regulären Ausdruck. Kann mir jemand dabei helfen?

+1

Drop '^' und '. * $' – heemayl

Antwort

1

^ Anker paßt info\.example\.com am Anfang der Linien.

Anker sind in Ihrem Fall nutzlos. Entfernen Sie die ^ und $ von Ihrem Muster:

sed -i 's/info\.example\.com/api.example.com/g' /var/html/www/index.js 

Mehr über Anker here.

1

In sed können Sie genaue Ausdruck zu ersetzen.

sed 's/info\.example.com/api.example.com/g' file 
Verwandte Themen