Você poderia fazer isso com sed
$ sed 's/^\[general\]/\[general\]\nnew=setting/' file
que adiciona new=setting
após o [general]
.
usar sed -i.bak ... file
fará isso e criará file.bak
para segurança.
Meu arquivo de configuração, server.conf, tem o seguinte formato
[general]
setting1=sdfdsf
setting2=asdfadsf
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf
Como adiciono uma configuração adicional à sub-rotina "geral" usando um script bash?
Isso parece ser mais respondido em stackoverflow:
Basicamente é um trabalho para SED ou AWK e um pouco de regex.