簡體   English   中英

Ansible Lineinfile:找到一個鍵並僅替換該值

[英]Ansible Lineinfile: Find a key and replace only the value

我有一個.properties / .conf / .xml / .csv文件。 要求是我需要匹配一個鍵,只有當該鍵存在於該文件中時才替換該值。

我的.properties文件如下所示,

name=newname
surname=newname

下面是我的key_value.yml文件

---
properties:
- {  name: name, value: jon}
- { name: surname, value: miller }

以下是我做同樣的安慰任務。

---
- name: Find and replace
  lineinfile:
    dest: /tmp/example/example.properties
    regexp: "{{ item.name }}"
    line: "{{ item.value }}"
    inserafter: '{{ item.name }}='
    backrefs: yes
    state: present
  with_items:
    - "{{ properties }}"

但這似乎並沒有起作用。 它取代了整條生產線。 請幫忙!

嘗試在行中包含密鑰:

---
- name: Find and replace
  lineinfile:
    dest: /tmp/example/example.properties
    regexp: "{{ item.name }}"
    line: "{{ item.name }}={{ item.value }}"
    backrefs: yes
    state: present
  with_items:
    - "{{ properties }}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM