обрый день
Сижу второй день над скриптом, не могу реализовать.1. Есть файл с настройками key=>value
2. Мне дают новые настройки. Обычно это 4 - 5 новых настроек. Их надо добавить в файл.
3. если есть такие уже то заменяю значения
4. если нет, то добовляю в конец файлаВот не как не получается на баше такое написать((
Например:
есть my.conf
param=test
url=my.domen.ru
json={'ddd':'222'}
Мне дали новые настройки которые мне надо добавить в файл my.conf
url=why.my.domen.ru
bat=trueТо, ожидаемые действия:
1. url должен замениться на новое значение
2. bat добавиться в конец файлаДавать переменные хочу все сразу, например из другого файла.
man sed
or
http://www.grymoire.com/Unix/Sed.html>[оверквотинг удален]
> param=test
> url=my.domen.ru
> json={'ddd':'222'}
> Мне дали новые настройки которые мне надо добавить в файл my.conf
> url=why.my.domen.ru
> bat=true
> То, ожидаемые действия:
> 1. url должен замениться на новое значение
> 2. bat добавиться в конец файла
> Давать переменные хочу все сразу, например из другого файла.
> Сижу второй день над скриптом, не могу реализовать.
> ...
> Давать переменные хочу все сразу, например из другого файла.Что вы уже пытались сделать и что именно не получилось?
Если же это была хотелка "сделайте мне", то вы забыли указать цену вопроса.
>[оверквотинг удален]
> param=test
> url=my.domen.ru
> json={'ddd':'222'}
> Мне дали новые настройки которые мне надо добавить в файл my.conf
> url=why.my.domen.ru
> bat=true
> То, ожидаемые действия:
> 1. url должен замениться на новое значение
> 2. bat добавиться в конец файла
> Давать переменные хочу все сразу, например из другого файла.
#!/bin/bash
INPUT=./input
CONF=./my.conf
IFS="="
cat $INPUT | while read string
do
set $string
grep "^$1" $CONF && sed -i "s/^$1=.*$/$1=$2/" $CONF || echo "$1=$2" >> $CONF
done