Adicione string no nginx.conf com o comando

4

Eu preciso adicionar essa string include /etc/nginx/sites-enabled/*.conf dentro do arquivo nginx.conf . Deve ficar assim:

. . .
. . .

http {

    . . .
    . . .

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

}

Eu quero fazer o script de algo, mas fiquei nesta etapa e não sei qual comando pode fazer isso por mim.

    
por user3448600 06.01.2018 / 13:28

1 resposta

5

Você pode acrescentar após um padrão específico com sed .

Usando a sintaxe /pattern/ a <string> :

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

Assim:

echo "http {

    . . .
    . . .

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

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

    . . .
    . . .

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

}


Se você quiser acrescentar em uma posição específica , use (por exemplo):

echo "http {

    . . .
    . . .


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

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


}

... para acrescentar depois da quarta linha.

sed versão:

sed (GNU sed) 4.4
    
por 06.01.2018 / 13:44