The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Ansible lineinfile: Как сделать ссылку назад и рядом переменную"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Система. проблемы, диагностика / Linux)
Изначальное сообщение [ Отслеживать ]

"Ansible lineinfile: Как сделать ссылку назад и рядом переменную"  +/
Сообщение от xintrea (ok), 13-Фев-20, 15:44 
Я хочу через Ansible 2.7.7 заменить в файле один сегмент IP-адреса:

- name: Замена IP
  lineinfile:
    destfile: "{{ nerworkInterfacesFile }}"
    backrefs: yes
    regexp: '(^\s*?address\s*?192\.168\.1\.)(\d*?)'
    line:   '\1{{ item[1] }}'

Проблема в том, что Ansible не может корректно вставить ссылку назад \1, если после нее сразу идет не-пробельный символ. Результирующая строка заменяется парой случайных символов.

А если поставить пробел, вот так:


    line:   '\1 {{ item[1] }}'

То все отрабатывает правильно, вот только в IP-адресе тоже появляется пробел.

Вопрос: как в Ansible в модуле lineinfile написать ссылку назад, и сразу после нее содержимое переменной?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Ansible lineinfile: Как сделать ссылку назад и рядом переменную"  +1 +/
Сообщение от ACCA (ok), 13-Фев-20, 16:41 
Прекрати онанизм с lineinfile:

Для таких задач существует template:

Ответить | Правка | Наверх | Cообщить модератору

2. "Ansible lineinfile: Как сделать ссылку назад и рядом переменную"  +/
Сообщение от Мимобегом (?), 26-Фев-20, 05:56 
> Вопрос: как в Ansible в модуле lineinfile написать ссылку назад, и сразу
> после нее содержимое переменной?

line: '\g<1>{{ item[1] }}'

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру