LINUX.ORG.RU

подскажите с регуляркой для sed. (часть 3)


0

1

приветствую!

снова о том же, о регулярках %)

подскажите плиз ;)

имеется конфиг-файл ini формата. в нем, нужно заменить строку 'dumps_symfile = *' на подставляемую мною строку типа 'dumps_symfile = *'. тут, в обоих случаях, звездочка - это оставшаяся часть строки до конца(символа переноса) строки.

т.е. к примеру было 'dumps_symfile = 1', а нужно заменить на 'dumps_symfile = 2'

благодарен.

★★★

Ответ на: комментарий от Deleted

вроде как оно, но только знаки равно повторяются.

использую это: 'sed «s,^\( *dumps_symfile *= *\).*$,\1$dumps_symfile = 44,» -i config.ini'

в файле получается это: 'dumps_symfile = = 44'

niXman ★★★
() автор топика
Ответ на: комментарий от Deleted

да, сработало! спасибо огромное. вопрос закрыт.

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

Я, наверно, вопрос неправильно понял. Нужно заменить все dumps_symfile = <что-нибудь> на dumps_symfile = <что-то другое> или <переменная> = 1 -> <переменная> = 2?

Я для второй интерпретации начального вопроса написал написал. Для первой будет так:

echo -e "a = 0\na=1" | sed 's/a\s*=\s*.*/a = 2/'

kulti ★★
()
Ответ на: комментарий от kulti

Нужно заменить все dumps_symfile = <что-нибудь> на dumps_symfile = <что-то другое>

да.

niXman ★★★
() автор топика

man man
man sed

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.