sed, sostituisci in Linux http: // cdn1 con https: // cdn1


8

Voglio sostituirlo http://cdn1.domain.comcon https://cdn1.domain.comin 200 file .html e non so come farlo con sed.

Qualcuno può aiutarmi con questo?

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


1
Cosa hai provato fino ad ora? Modifica la tua domanda e includi ciò che hai provato e perché non ha funzionato.
SEE

sed -i '/ http: / \ / \ cdn1 / http: / \ / \ cdn1 /' cum-comand.html sed: -e espressione # 1, carattere 8: comando sconosciuto: `\ 'sed -i' / http : \ / \ / cdn1 / http: \ / \ / cdn1 / 'cum-comand.html sed: -e espressione # 1, carattere 17: caratteri extra dopo il comando
AndreiG.

Hai invertito le barre e le barre rovesciate.
Michael Hampton,

Risposte:


21

Se si trovano nella stessa directory, puoi semplicemente fare questo:

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

In caso contrario, esegui find:

find . -name "*.html" -exec sed -i 's|http://cdn1.domain.com|https://cdn1.domain.com|g' {} \;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.