首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在特定块内的文本文件中查找并插入字符串

在特定块内的文本文件中查找并插入字符串
EN

Stack Overflow用户
提问于 2013-07-26 02:56:04
回答 1查看 73关注 0票数 1

我有以下几点:

代码语言:javascript
复制
server {
            listen IP; 
            location /nginx-status {
            stub_status on;
            access_log   off;
            allow $IP;
            deny all;
        }

我的问题是,我需要专门在我的nginx.conf文件的HTTP块中插入这个代码。

这是nginx配置通常的样子:

http://wiki.nginx.org/FullExample

我不知道这是不是可能。我猜如果我在http代码块后面插入会更容易些?

理想情况下,我希望在BASH中这样做,但我对其他选择持开放态度。

EN

回答 1

Stack Overflow用户

发布于 2013-07-26 03:32:07

使用vim的一种方法。假设nginx.conf包含您在链接中提供的数据,infile包含您要添加的内容:

代码语言:javascript
复制
vim -u NONE -N -c '
    set backup | 
    bn | 
    execute "normal ggyG" | 
    bn | 
    execute "normal! gg/^\\vhttp\>\<CR>f{%P" | 
    xa
' nginx.conf infile

它是如何工作的?

set backup创建nginx.conf的备份,并附加一个~。原件将被就地修改。

两个文件之间的bn会发生变化。第一个execute命令复制infile的所有内容,第二个bn返回到nginx文件。

第二个execute命令搜索以http开头的行,将光标设置在左花括号(f{)中,并使用%将光标神奇地设置在右大括号中。然后使用P粘贴在前面的execute命令中保存的内容。

xa保存修改后的文件并退出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17866478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档