The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Bash. Работа с текстом. Поиск. Замена. Добавление в конец файла"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Bash. Работа с текстом. Поиск. Замена. Добавление в конец файла"  +/
Сообщение от Dark Smoke (ok) on 19-Янв-16, 16:34 
обрый день
Сижу второй день над скриптом, не могу реализовать.

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 добавиться в конец файла

Давать переменные хочу все сразу, например из другого файла.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Bash. Работа с текстом. Поиск. Замена. Добавление в конец файла"  +/
Сообщение от BV on 19-Янв-16, 17:09 
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 добавиться в конец файла
> Давать переменные хочу все сразу, например из другого файла.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Bash. Работа с текстом. Поиск. Замена. Добавление в конец файла"  +/
Сообщение от . on 19-Янв-16, 17:40 
> Сижу второй день над скриптом, не могу реализовать.
> ...
> Давать переменные хочу все сразу, например из другого файла.

Что вы уже пытались сделать и что именно не получилось?
Если же это была хотелка "сделайте мне", то вы забыли указать цену вопроса.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Bash. Работа с текстом. Поиск. Замена. Добавление в конец файла"  +/
Сообщение от Павел Самсонов email on 19-Янв-16, 21:24 
>[оверквотинг удален]
> 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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру