вторник, 14 июня 2011 г.

Редактируем файлы настроек - утилита sed

Иногда надо исправить некоторые параметры в файлах настроек программ вида key=value, причем желательно с бэкапом исходного файла, естественно, не вручную, и далеко не на одном компьютере. Изменить надо один или более параметров, остальные оставить без изменения. Решение - Unix-утилита sed, точнее ее версия для Windows.

Формат команды в данном случае (для примера - редактирование файла настроек jabber-клиента Spark):

cd "%USERPROFILE%\Spark\"
sed -s -f spark.sed -i[backup] spark.properties

spark.sed - собственно, что на что менять

s/emoticonsEnabled=false/emoticonsEnabled=true/g
s/notifyOnOnline=false/notifyOnOnline=true/g
s/spellCheckerEnabled=false/spellCheckerEnabled=true/g

В итоге имеем:

- до запуска - файл

spark.properties

- после запуска - файлы

spark.properties - с измененными настройками;
spark.properties[backup] - резервная копия.

Отличное решение для редактирования файлов настроек,  очень удобно применять в сети на большом количестве компьютеров - вставляешь в скрипт входа пользователя - и все настраиваается как надо. Из известных программ в виде ключ=значение хранят настройки Firefox, Opera, Pidgin, практически все кроссплатформенные программы, так что возможности утилиты sed очень даже немаленькие, экономия времени и сил администратора получается очень заметная.

Страница sed на sourceforge