使用命令将字符串添加到 nginx.conf 中

使用命令将字符串添加到 nginx.conf 中

我需要将此字符串添加到文件include /etc/nginx/sites-enabled/*.confnginx.conf。它应该看起来像这样:

. . .
. . .

http {

    . . .
    . . .

    include /etc/nginx/conf.d/*.conf;
    # INCLUDE STRING HERE VIA COMMAND

}

我想编写一些脚本,但是我卡在这一步,不知道哪个命令可以为我完成这项工作。

答案1

您可以在特定的后面附加图案sed

使用语法/pattern/ a <string>

sed '/include.*conf/ a "New string"'

就像这样:

echo "http {

    . . .
    . . .

    include /etc/nginx/conf.d/*.conf;

}" | sed '/include.*conf/ a "New string"'
http {

    . . .
    . . .

    include /etc/nginx/conf.d/*.conf;
"New string"

}


如果您想附加到特定的位置位置,使用(例如):

echo "http {

    . . .
    . . .


}" | sed '4 a\
    include /etc/nginx/sites-enabled/*.conf'
http {

    . . .
    . . .
    include /etc/nginx/sites-enabled/*.conf


}

...附加到第四行之后。


sed版本:

sed (GNU sed) 4.4

相关内容