Прошу помощи по использованию утилиты SED
ross sysadm 1 июня, 2012 - 12:29
Приветствую сообщество.
Столкнулся с проблемой замены части строки в файле.
Есть строки в файле:
define('DB_NAME', '492248_homecareg');
define('DB_USER', '492248_homecareg');
define('DB_PASSWORD', 'passwd');
define('DB_HOST', 'mysql50-1.wc2.dfw1.stabletransit.com');
DB_USER, DB_PASSWOR, DB_HOST - для каждого сайта разные
Необходимо заменить DB_HOST на localhost, DB_USER & DB_PASSWORD на другие, для всех сайтов они будут одинаковые.
Делаю так:
sed -i -e 's/DB_USER/'define\(\'DB_USER', 'superadminsite'\)\;'/g wp-config.php
поиск по DB_USER и замена на то что мне надо.
Никак не могу втыкнуть как сказать что до и после DB_USER может быть что угодно (типа *DB_USER*) и эту строку надо заменить на правильную.
Спасибо за Вашу помощь.
»
- Для комментирования войдите или зарегистрируйтесь
's/^.+DB_HOST.+$//' (придётся
's/^.+DB_HOST.+$/<нужная строка>/' (придётся поэкранировать символы, наверное)
Заменяет все строки, где есть DB_HOST, на другие целиком.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Спасибо
Спасибо. Так работает:
find . -name "*.*" -type f -exec sed -i -e 's/.*'DB_USER'.*/'define\(\"DB_USER'\", '\"smsadminsite'\"\)\;'/g {} \;
a -name "*.*" зачем
a
зачем здесь-то? :)
ДОСо/Виндовые привычки?