朋友一台服务器上,好几十个网站,更换服务器的时候,nginx 做了升级,修改很多配置文件。最后添加域名的时候,少了 添加了 裸域名。 比如 应该是
server_name shelljiaoben.com www.shelljiaoben.com;
全部配置成了
server_name www.shelljiaoben.com;
通过 sed 一行修改全部的配置及文件
sed -i -r '/server_name/s/www\.([^ ]+);/\1 &/g' *.conf
含义
1. -i 表示修改后直接保存源文件
2. -r 表示使用启用扩展的正则表达式语法
3. /server_name/ 表示指定到好汉 server_name 的行
4. s 表示提示
5. ([^ ]+) 除去空白字符的其他字符
6. \1
匹配第一个括号内的内容
7. & 表示 www\.([^ ]+);
的内容