@taaadm

Почему не срабатывает замена регуляркой через sed?

Вот файл minion:

# clusters. #id:
# clusters. #id: dfggggg
#id:
#id: dfsfff
id:
id: рррппп


Надо чтобы менялись последние 4 строки.
Вот замена:
sed -i "s/^\#?id:.*/id: zabbix-proxy.client.local/gm" minion


Не работает.

P.S. Файл лежит в домашней директории, проверяю по рутом
Эту регулярку првоерял в regexr.com и https://regex101.com/ там работает
  • Вопрос задан
  • 488 просмотров
Решения вопроса 2
@Aves
эскейпить нужно не решётку, а знак вопроса
's/^#\?id:.*/id: zabbix-proxy.client.local/'
Ответ написан
Комментировать
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
sed -i "s/id:.*/id: zabbix-proxy.client.local/gm" minion

З.Ы. С утра не проснулся :) Как правильно заметили выше - эскейпить нужно знак вопроса, чтобы с # тоже менялись.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы