gpt4 book ai didi

Bash:如何在文件的 block 中检查和插入字符串

转载 作者:行者123 更新时间:2023-11-29 09:09:16 28 4
gpt4 key购买 nike

在 http.conf 文件中有一个 block ,例如:

<IfModule mime_module>
...
</IfModule>

假设使用 bash,我如何检查是否有以下行

AddHandler application/x-httpd-php .php

已经添加到上一个区 block 中,
如果没有,我如何将它添加到底部导致

<IfModule mime_module>
...
AddHandler application/x-httpd-php .php
</IfModule>

这个 block 就在文件的中间:
文件内容不以此 block 开始或结束。


已编辑:
为了让这更难,我意识到我也需要进一步检查:很抱歉在我的问题中错过了它。如果上面的行已经作为注释行出现在提到的 block 中,如

# AddHandler application/x-httpd-php .php

(char # 可能是该行的第一个字符,或者它之前可能有一些空格,因为它在 AddHandler 的 char A 之前可能有或没有一些空格),我只需要取消注释它,否则我有按照说明继续添加它。

最佳答案

awk '
/mime_module/{
flag=1
}

flag && /x-httpd-php/{
has=1
}

flag && /<\/IfModule>/{
flag = 0
if(!has)
print "AddHandler application/x-httpd-php .php"
}
1' input.conf

关于Bash:如何在文件的 block 中检查和插入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com