sed, thay thế trong linux http: // cdn1 bằng https: // cdn1


8

Tôi muốn thay thế http://cdn1.domain.combằng https://cdn1.domain.com200 tệp .html và tôi không biết làm thế nào với sed.

Ai đó có thể giúp tôi với điều này?

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
Bạn đã thử những gì cho đến nay? Vui lòng chỉnh sửa câu hỏi của bạn và bao gồm những gì bạn đã thử và tại sao nó không hoạt động.
EEAA

sed -i '/ http: / \ / \ cdn1 / http: / \ / \ cdn1 /' cum-comand.html sed: -e biểu thức # 1, char 8: lệnh không xác định: `\ 'sed -i' / http : \ / \ / cdn1 / http: \ / \ / cdn1 / 'cum-comand.html sed: -e biểu thức # 1, char 17: ký tự phụ sau lệnh
AndreiG.

Bạn đã đảo ngược dấu gạch chéo và dấu gạch chéo ngược của bạn.
Michael Hampton

Câu trả lời:


21

Nếu chúng nằm trong cùng một thư mục, bạn có thể làm điều này:

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

Nếu không, hãy chạy tìm:

find . -name "*.html" -exec sed -i 's|http://cdn1.domain.com|https://cdn1.domain.com|g' {} \;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.