sed, remplacez sous linux http: // cdn1 par https: // cdn1


8

Je veux le remplacer http://cdn1.domain.compar https://cdn1.domain.com200 fichiers .html et je ne sais pas comment le faire avec sed.

Quelqu'un peut-il m'aider avec ça?

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
Qu'est-ce que tu as essayé jusque-là? Veuillez modifier votre question et inclure ce que vous avez essayé et pourquoi cela n'a pas fonctionné.
EEAA

sed -i '/ http: / \ / \ cdn1 / http: / \ / \ cdn1 /' cum-comand.html sed: -e expression # 1, char 8: commande inconnue: `\ 'sed -i' / http : \ / \ / cdn1 / http: \ / \ / cdn1 / 'cum-comand.html sed: -e expression # 1, caractère 17: caractères supplémentaires après la commande
AndreiG.

Vous avez inversé vos barres obliques et vos contre-obliques.
Michael Hampton

Réponses:


21

S'ils se trouvent dans le même répertoire, vous pouvez simplement faire ceci:

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

Sinon, lancez find:

find . -name "*.html" -exec sed -i 's|http://cdn1.domain.com|https://cdn1.domain.com|g' {} \;
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.