用sed找到server下listen是443serve_name是www.maydot.cn的代码块并把proxy_pass这一行替换掉
时间: 2024-04-17 18:27:07 浏览: 106
举一返三JAVA程序设计实战训练.rar_Linux shell_it is ma_java 聊天_site:www.pudn.
你可以使用以下的sed命令来找到server下listen为443、server_name为www.maydot.cn的代码块,并将其中的proxy_pass行替换掉:
```shell
sed -i '/server {/,/}/ {/listen 443;/ {/server_name www.maydot.cn;/ {n; s|^\(\s*proxy_pass\).*|\1 replacement_value;}}}' nginx.conf
```
这个命令中,正则表达式`/server {/,/}/`会匹配到server块,然后在其中进一步匹配到listen为443和server_name为www.maydot.cn的行。然后,使用`n`命令跳到下一行,即proxy_pass行,并使用替换命令`s|^\(\s*proxy_pass\).*|\1 replacement_value;|`将其替换为你想要的值(在这里是replacement_value)。
请确保将replacement_value替换为实际的值,并且有足够的权限来修改nginx.conf文件。
阅读全文