【问题标题】:Using SED to comment out SSL in NGINX.CONF file [duplicate]使用 SED 在 NGINX.CONF 文件中注释掉 SSL [重复]
【发布时间】:2017-12-14 12:01:00
【问题描述】:

在追求自动化的过程中,我试图在某些代码中注释和注释。请注意,这是脚本的一部分,因此我试图隔离具有 #ssl_system

的特定行

之前

#return 301 https://$server_name$request_uri; #ssl_system

#} #ssl_system

#server { #ssl_system

    # SSL configuration 
    #listen 443 ssl; #ssl_system
    #listen [::]:443 ssl; #ssl_system
    expires $expires;
    #include snippets/ssl-newdomain.com.conf; #ssl_system
    #include snippets/ssl-params.conf; #ssl_system

之后

return 301 https://$server_name$request_uri; #ssl_system

} #ssl_system

server { #ssl_system

    # SSL configuration 
    listen 443 ssl; #ssl_system
    listen [::]:443 ssl; #ssl_system
    expires $expires;
    include snippets/ssl-newdomain.com.conf; #ssl_system
    include snippets/ssl-params.conf; #ssl_system

实际上它是一种启用和禁用 SSL 的方法。

我正在尝试使用 SED:

这行得通:

sudo sed -i -e "s|#server_name newdomain.com www.newdomain.com; #ssl_system|server_name newdomain.com www.newdomain.com; #ssl_system|g" "/var/www/srv/templates/nginx.tpl"

这不是:

sudo sed -i "s|#return 301 https://$server_name$request_uri; #ssl_system|return 301 https://$server_name$request_uri; #ssl_system|g" "/var/www/srv/templates/nginx.tpl"

我想要一组启用 SSL 的命令,以及另一组禁用它的命令。

我不太确定自己做错了什么,但是任何见解都会很棒。

更新

成功了

sudo sed -i "s|#return 301 https://[$]server_name[$]request_uri; #ssl_system|return 301 https://[$]server_name[$]request_uri; #ssl_system|g" "/var/www/srv/templates/nginx.tpl"

【问题讨论】:

  • $ 匹配行尾。如果您想匹配文字美元符号,那就是\$[$]。您的示例数据不包含这些正则表达式中的任何一个的匹配项,因此很难确切地说这是否是完整的修复。
  • @tripleee sudo sed -i "s|#return 301 https://[$]server_name[$]request_uri; #ssl_system|return 301 https://[$]server_name[$]request_uri; #ssl_system|g" "/var/www/srv/templates/nginx.tpl" 工作。

标签: bash sed


【解决方案1】:

启用操作:

sed -Ei 's/^([[:space:]]*)#(return|\}|server|listen|include)/\1\2/' file.conf

禁用操作:

sed -Ei 's/^([[:space:]]*)(return|\}|server|listen|include)/\1#\2/' file.conf

【讨论】:

  • 你好。我刚刚尝试过它并且它有效,但我没有提到我有一个完整的脚本。我很抱歉。我将更新我的主要问题。
猜你喜欢
  • 2014-06-08
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多