Доброго времени суток, уважаемые.
Встала вот тут у меня задача: обрабатывать скриптом на шелле некие ini-файлы.
С sed, awk и вообще с написанием скриптов на /bin/bash знаком.
Однако, не хотелось тратить время на то, что уже кто-то когда-то делал.
Подскажите, не видел ли кто готовых примеров, процедур, функций по работе с текстовыми ini-файлами посредством sh или bash ?
Или дайте ссылку на доку, где есть описание подобный действий и/или примеры.
P.S.
Задаю такой вопрос не от того, что ленив/не хочу делать сам/не способен почитать маны.
Просто хочу сэкономить время, т.к. скорее всего кто-то где-то подобное уже делал и примеры кода/готовые скрипты есть.
Обработка ini-файлов shell-скриптом (Нужны готовые примеры/библиотеки...)
Модераторы: /dev/random, Модераторы разделов
Re: Обработка ini-файлов shell-скриптом
Если не ошибаюсь, структура ini-файлов очень похожа на кдешные .desktop и файлы настроек. Тогда можна заюзать kreadconfig и kwriteconfig
Свобода есть тонкая полоска между диктатурой и анархией.
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
- demongloom
- Сообщения: 454
- Статус: Добрый Демон
- Контактная информация:
Re: Обработка ini-файлов shell-скриптом
Или php если установлен. Он позволяет писать скрипты и запускать не как вебприложения, а как тот же баш. Просто в пхп есть уже сразу готовые функции для ини файлов.
Если жизнь твоя порвется, тебе новую сошьют.
Re: Обработка ini-файлов shell-скриптом
как и в perl
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
И восемь строк матом...(бесплатно)
Re: Обработка ini-файлов shell-скриптом
(Strangerrr @ Четверг, 17 Февраля 2005, 10:47) писал(а):как и в perl
Да, конечно.
http://cpan.uwinnipeg.ca/search?query=ini+files&mode=dist
madskull добавил в 17.02.2005 11:16
Кстати, я, все-таки, использую "самодельные" парсеры. Потому что, если это небольшая, разовая работа, то дольше разбираться с готовыми библиотеками, что написать свой.
Типа такого
Код: Выделить всё
IFS=$'\n'
for str in `cat ini | sed 's/^ *//' | egrep -v '^$|^#'`; do
eval $(echo $str|sed 's/ *=/=/;s/= */=/')
done
для ини, имеющего вид
Код: Выделить всё
# The "wait" command below makes Wget wait between every connection.
# If, instead, you want Wget to wait only between retries of failed
# downloads, set waitretry to maximum number of seconds to wait (Wget
# will use "linear backoff", waiting 1 second after the first failure
# on a file, 2 seconds after the second failure, etc. up to this max).
waitretry = 10
var1=1234
var2=$((5+$var1*10))
И потом обращаться к опциям конфига как к переменным: echo $waitretry
Хотя, могут быть и подводные камни.
Например, echo $var2 выдаст, как и ожидается, 12345
ArchLinux / IceWM