使用sed删除多行以进行nginx配置

时间:2014-05-05 20:52:10

标签: nginx sed lines

您好我在尝试使用sed配置nginx。

我想删除以下块:

location / {
        root   html;
        index  index.html index.htm;
    }

我的第一次尝试:

 sed '/location \/*\}/d' /opt/nginx/conf/nginx.conf

这不会删除任何内容。

可以请任何人帮忙吗?

2 个答案:

答案 0 :(得分:0)

你可能想要这个:

sed -ri '/location \//,/.*\}/d' /opt/nginx/conf/nginx.conf

   -r, --regexp-extended
      use extended regular expressions in the script (.*)

   -i[SUFFIX], --in-place[=SUFFIX]
      edit files in place (makes backup if extension supplied)

http://unixhelp.ed.ac.uk/CGI/man-cgi?sed

答案 1 :(得分:0)

以下是要删除awk部分的location

awk '/^location/ {f=1} !f; /}$/ {f=0}' file

或者您可以使用awk中的范围功能,但由于更灵活,我更喜欢第一种。

awk '/^location/,/}$/ {next}1' file