2016-10-19 12 views
1

ディレクトリ内の複数の.confファイルにいくつかの行を追加したいとします。 /etc/abc/xabc/。私は追加したいディレクトリ内の複数のファイルに複数の行を追加する

の2行は以下の通りです:

Composite=1 
Extension=1 

私はこれらの行は[protocol]を含む行の後に表示したいと思います。

どうすればいいですか?

この手順を進める方法がわかりません。

- name: add line 

- lineinfile: 
    dest: "{{ item }}" 
    regexp: "{{ item.regexp }}" 
    line: "{{ item.line }}" 
    insertafter: [Protocol] 
    with_items: xxxxxx 

私はまた、(/etc/abc/xabc/)ディレクトリの出力を登録する必要が想定しています。私はそれが誤ったことを知っているにもかかわらず - 以下の私の試みを参照してください?あなたは、iniファイルを編集するよう

答えて

2

まず、それが見えますので、モジュールは、はるかに適切です:あなたは、ネストされたループを使用するように

- ini_file: 
    dest: /path/to/destination/file.ini 
    section: Protocol 
    option: "{{ item.option }}" 
    value: "{{ item.value }}" 
    with_items: 
    - { option: Composite, value: 1 } 
    - { option: Extension, value: 1 } 

第二には、それが見えます。わかりやすくするために、私は外のループのファイルを宛先ディレクトリのファイルグロブ上に含め、インクルードされたファイルの設定を行うことにします。例えば、inner_loop.yml

- ini_file: 
    dest: "{{ destination_file }}" 
    section: Protocol 
    option: "{{ item.option }}" 
    value: "{{ item.value }}" 
    with_items: 
    - { option: Composite, value: 1 } 
    - { option: Extension, value: 1 } 

とアウター:

- include: inner_loop.yml 
    with_fileglob: 
    - /etc/abc/xabc/* 
    loop_control: 
    loop_var: destination_file 

This answerはグロブにわたるループを持つアイテムをループを結合するための別の可能な解決策を示唆しています。

関連する問題