My configuration file, server.conf
, has the following format:
[general]
setting1=sdfdsf
setting2=asdfadsf
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf
How do I add an additional setting to the [general]
stanza using a Bash script?
My configuration file, server.conf
, has the following format:
[general]
setting1=sdfdsf
setting2=asdfadsf
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf
How do I add an additional setting to the [general]
stanza using a Bash script?
You could do it with sed
$ sed 's/^\[general\]/\[general\]\nnew=setting/' file
which adds new=setting
after the [general]
.
using sed -i.bak ... file
will do it in place and create a file.bak
for safety.
Can you try as given below
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
This seems to be mostly answered over on stackoverflow:
Basically its a job for SED or AWK and a little regex.