regex - 在 linux 中的正则表达式后将文本附加到文件

标签 regex linux nginx awk sed

我想在 nginx 文件的配置中添加额外的文本行。我写了一个正则表达式 HERE ,尽管它不适用于 sed。在找到的文本之后添加文本的脚本应该是什么样的?

我正在尝试使用这个命令,但没有成功:

sed '/location \/ {(\n|.)*?[a-zA-Z0-9 \n;#._\/=$,]*}/r nginxphp.txt' /etc/nginx/sites-available/default

这个问题中最重要的是应该如何看待 sed 语法中的正则表达式?

或者只是另一种在 debian 中注入(inject)一些行到文件的方法(在我的例子中) 我想在/etc/nginx/sites-available/default 中进行更改:

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules;
    }
HERE SOME TEXT

最佳答案

使用 sed :

sed '/location \/ {/!b;:A;N;/}/!bA;r nginxphp.txt' /etc/nginx/sites-available/default

关于regex - 在 linux 中的正则表达式后将文本附加到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52580021/

相关文章:

linux - linux 内核中的 kmalloc() 功能

linux - nginx http 到 https 重定向问题

regex - 如何使用RegEx收集多个着陆页URL的信息?

正则表达式字符串中的特定字符

php - preg_replace : bad regex == 'Unknown Modifier' ?

c - 无法以读取模式打开消息队列 (mq_open())

regex - R 中的 gsub 除外

linux - 在 RHEL4 中安装 GCC 3.4.6

ssl - 如何使用 https 服务 devpi?

ssl - 如果我们更新 SSL 证书并花时间部署到服务器,网站将无法运行吗