sed,在Linux http:// cdn1中替换为https:// cdn1


8

我想http://cdn1.domain.comhttps://cdn1.domain.com200个.html文件替换,而我不知道如何用sed 进行替换。

有人可以帮我吗?

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
你都尝试了些什么?请编辑您的问题,并包括您尝试过的内容以及为什么不起作用。
EEAA 2014年

sed -i'/ http:/ \ / \ cdn1 / http:/ \ / \ cdn1 /'cum-comand.html sed:-e表达式#1,char 8:未知命令:`\'sed -i'/ http :\ / \ / cdn1 / http:\ / \ / cdn1 /'cum-comand.html sed:-e表达式1,字符17:命令后的多余字符
AndreiG。

您已反斜杠和反斜杠。
迈克尔·汉普顿

Answers:


21

如果它们在同一目录中,则可以执行以下操作:

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

如果没有,请运行查找:

find . -name "*.html" -exec sed -i 's|http://cdn1.domain.com|https://cdn1.domain.com|g' {} \;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.