Мой файл конфигурации, server.conf
, имеет следующий формат:
[general]
setting1=sdfdsf
setting2=asdfadsf
[ssl]
setting1=sadfsdf
setting2=sdfadsfkljasdf
Как добавить дополнительную настройку в [general]
строфа с использованием сценария Bash?
Вы могли бы сделать это с sed
$ sed 's/^\[general\]/\[general\]\nnew=setting/' file
что добавляет new=setting
после [general]
. с помощью sed -i.bak ... file
сделает это на месте и создаст file.bak
для безопасности.
Можете ли вы попробовать, как указано ниже
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
Кажется, что на это в основном ответят в stackoverflow:
В основном это работа для SED или AWK и небольшого регулярного выражения.