2016-10-24 7 views
-1

Очень часто для файлов конфигурации ванили есть настройки, отмеченные в файлах конфигурации по умолчанию. Например,Как расколоть строку с помощью модуля замены Ansible?

#HEAP_SIZE=2g 

Как удалить символ комментария, «#» в этом случае, с помощью модуля замены Ansible?

- name: Uncomment out HEAP_SIZE 
    replace: 
    dest: //etc/some_path/app.conf 
    replace="what to put here to remove #???" 
    regex="#HEAP_SIZE=2g" 

Результирующее в

HEAP_SIZE=2g 
+2

Рассматривали ли вы шаблонирование из всего файла конфигурации? –

ответ

0

Simply:

replace: "HEAP_SIZE=2g" 

Вы бы также хотели, чтобы убедиться, что он с самого начала строки.

Обычно для этого варианта использования lineinfile модуль подходит лучше.

+0

Я знаю, что мог бы это сделать, но если у меня есть несколько строк для замены, мне придется написать задачу для каждой строки с соответствующим значением замены. Я ищу что-то, что удалит символ «#». –

0

Вы можете использовать lineinfile для вашей задачи:

- name: Uncomment parameters 
    lineinfile: 
    dest: app.conf 
    regexp: (?i)^\s*#\s*({{ item }}.*) 
    line: \1 
    backrefs: yes 
    with_items: 
    - heap_size 
    - aNoThEr_setting