![如何在配置文件中的特定节中添加一行?](https://linux22.com/image/581399/%E5%A6%82%E4%BD%95%E5%9C%A8%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E7%89%B9%E5%AE%9A%E8%8A%82%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%B8%80%E8%A1%8C%EF%BC%9F.png)
我的配置文件server.conf
具有以下格式:
[general]
setting1=sdfdsf
setting2=asdfadsf
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf
[general]
如何使用 Bash 脚本向节添加附加设置?
答案1
你可以这样做sed
$ sed 's/^\[general\]/\[general\]\nnew=setting/' file
在.new=setting
后面添加的使用将会到位并创建一个以确保安全。[general]
sed -i.bak ... file
file.bak
答案2
这似乎主要是在 stackoverflow 上回答的:
基本上,它是 SED 或 AWK 和一些正则表达式的工作。
答案3
您可以尝试如下方法吗
cat server.conf
[general]
setting1=sdfdsf
setting2=asdfadsf
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf
sed '/general/,/^$/s/^$/setting3=new_entry\n/g' server.conf
cat server.conf
[general]
setting1=sdfdsf
setting2=asdfadsf
setting3=new_entry
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf