sed, ersetzen Sie unter Linux http: // cdn1 durch https: // cdn1

8

Ich mag ersetzen http://cdn1.domain.commit https://cdn1.domain.comin 200 .html - Dateien und ich weiß nicht , wie das zu tun mit sed.

Kann mir jemand dabei helfen?

sed -i '/http:/\/\cdn1/http:/\/\cdn1/' cum-comand.html
sed: -e expression #1, char 8: unknown command: `\'

sed -i '/http:\/\/cdn1/http:\/\/cdn1/' cum-comand.html
sed: -e expression #1, char 17: extra characters after command
AndreiG.
quelle
1
Was hast du bisher versucht? Bitte bearbeiten Sie Ihre Frage und geben Sie an, was Sie versucht haben und warum es nicht funktioniert hat.
EEAA
sed -i '/ http: / \ / \ cdn1 / http: / \ / \ cdn1 /' cum-comand.html sed: -e Ausdruck # 1, Zeichen 8: unbekannter Befehl: `\ 'sed -i' / http : \ / \ / cdn1 / http: \ / \ / cdn1 / 'cum-comand.html sed: -e Ausdruck # 1, Zeichen 17: zusätzliche Zeichen nach dem Befehl
AndreiG.
Sie haben Ihre Schrägstriche und Schrägstriche umgekehrt.
Michael Hampton

Antworten:

21

Wenn sie sich im selben Verzeichnis befinden, können Sie dies einfach tun:

sed -i 's|http://cdn1.domain.com|https://cdn1.domain.com|g' *.html

Wenn nicht, führen Sie find aus:

find . -name "*.html" -exec sed -i 's|http://cdn1.domain.com|https://cdn1.domain.com|g' {} \;
Jakov Sosic
quelle