sed, reemplace en Linux http: // cdn1 con https: // cdn1

8

Quiero reemplazar http://cdn1.domain.comcon https://cdn1.domain.com200 archivos .html y no sé cómo hacerlo con sed.

puede alguien ayudarme con esto?

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.
fuente
1
¿Qué has intentado hasta ahora? Edite su pregunta e incluya lo que ha intentado y por qué no funcionó.
EEAA
sed -i '/ http: / \ / \ cdn1 / http: / \ / \ cdn1 /' cum-comand.html sed: -e expresión # 1, char 8: comando desconocido: `\ 'sed -i' / http : \ / \ / cdn1 / http: \ / \ / cdn1 / 'cum-comand.html sed: -e expresión # 1, char 17: caracteres adicionales después del comando
AndreiG.
Has invertido tus barras y barras invertidas.
Michael Hampton

Respuestas:

21

Si están en el mismo directorio, puede hacer esto:

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

Si no, ejecuta find:

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