Всем привет!
Когда я пытаюсь в куче конфигов заменить часть IP-адреса, то пишу команду
sed -i '/s/192.168.0/10.55.200/g'
Проблема в том, что в конфиге dhcpd есть настройки отдачи таблицы маршрутизации вида
24,172,21,0,192,168,0,254
Такие строки в результате выполнения sed заменяются на
24,172,21,0,10.55.200,254
Вопрос: как правильно написать выражение для sed, чтобы он корректно обработал эти строки или просто пропустил их? Запятая в качестве разделителя встречается только в конфиге dhcpd, если я правильно помню...
>[оверквотинг удален]
> Когда я пытаюсь в куче конфигов заменить часть IP-адреса, то пишу команду
> sed -i '/s/192.168.0/10.55.200/g'
> Проблема в том, что в конфиге dhcpd есть настройки отдачи таблицы маршрутизации
> вида
> 24,172,21,0,192,168,0,254
> Такие строки в результате выполнения sed заменяются на
> 24,172,21,0,10.55.200,254
> Вопрос: как правильно написать выражение для sed, чтобы он корректно обработал эти
> строки или просто пропустил их? Запятая в качестве разделителя встречается только
> в конфиге dhcpd, если я правильно помню...man regex, экранируй точку, а то назаменяешь себе на голову
> man regex, экранируй точку, а то назаменяешь себе на головуman regex до просветления - точка метасимвол
>> man regex, экранируй точку, а то назаменяешь себе на голову
> man regex до просветления - точка метасимволecho 123,123,123 | sed 's/123.123.123/true/g'
true
>> man regex, экранируй точку, а то назаменяешь себе на голову
> man regex до просветления - точка метасимволecho 123,123,123 | sed 's/123\.123\.123/true/g'
123,123,123
>[оверквотинг удален]
> Когда я пытаюсь в куче конфигов заменить часть IP-адреса, то пишу команду
> sed -i '/s/192.168.0/10.55.200/g'
> Проблема в том, что в конфиге dhcpd есть настройки отдачи таблицы маршрутизации
> вида
> 24,172,21,0,192,168,0,254
> Такие строки в результате выполнения sed заменяются на
> 24,172,21,0,10.55.200,254
> Вопрос: как правильно написать выражение для sed, чтобы он корректно обработал эти
> строки или просто пропустил их? Запятая в качестве разделителя встречается только
> в конфиге dhcpd, если я правильно помню...попробуй через логическое нет 192\.168\.0(?!\.254)
регулярки удобно тренить на regex101.com, а файлы править в vscode
Всем спасибо, экранирование точек помогло: /s/192\.168\.0/10\.55\.200/g