CSV 파일에서 내용을 캡처하려면 Regexp 및 Replace 표현식이 필요합니다. 내 CSV 파일이 이렇게 시작됩니다.
예 - 표현식은 내 CSV 파일에서 키 이름 "FC_host"를 찾아야하며 다른 값으로 바꿔야합니다.
$TH_appName=tuipatthcrfh3320
#$TH_host=10.145.129.75
$TH_host=10.145.129.75
$TH_casPort=8500;
$TH_eacPort=8888;
$FC_appName=tuipatfc3320;
#$FC_host=10.145.129.75
$FC_host=10.145.129.75
$FC_casPort=8500;
$FC_eacPort=8888;
아래 코드는 제 코드입니다. 이 코드는 작동하지만 몇 가지 문제점이 있습니다. 친절하게 도와 드리겠습니다. 또한 regexp를 사용하고 대체하므로 원격 서버에서이를 업데이트해야합니다.
---
- hosts: local
vars:
properties:
- { name: "TH_appName", value: "10.0.1" }
tasks:
- name: Find and Replace
replace:
dest: /etc/ansible/kalyan-tui/example.csv
regexp: '(.*){{ item.name }}=(.*);'
replace: '\1{{ item.name }}={{ item.value }};'
# state: present
with_items:
- "{{ properties }}"
은 ... – jbndlr
$ \ $ –
보이는 특수 문자를 탈출한다 {...}}''템플릿 대체물처럼 보입니다. 이것에 대한 일반적인 정규 표현식을 시도 했습니까? sth는'' '\ $ TH_appName =. +? \ n'''을 정규식으로 사용하고'''TH_appName = myNewValue \ n'''을 대체 할 것입니까? – jbndlr