查找正则表达式并替换以 $ 开头的 CSV 文件的表达式
Find Regexp and replace expression for CSV file starting with $
我需要一个 Regexp 和 Replace 表达式来从 CSV 文件中捕获内容。我的 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;
下面是我的代码。此代码有效,但几乎没有 issues.Kindly 帮助我 this.Moreover 我正在使用正则表达式和替换,因此我需要在远程服务器中更新它们。
---
- 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: '{{ item.name }}={{ item.value }};'
# state: present
with_items:
- "{{ properties }}"
with open('items.csv', 'r')as file:
for row in file:
print row.replace('TH_host', 'Something else')
>>$TH_appName=tuipatthcrfh3320
>>#$Something else=10.145.129.75
>>$Something else=10.145.129.75
>>...
除非您需要使用正则表达式,例如一些数字或一定数量的空格,否则您不需要正则表达式。正则表达式非常昂贵,因此应尽可能 avoided。
任务应如下所示:
- name: Find and Replace
replace:
dest: /etc/ansible/kalyan-tui/example.csv
regexp: ^$FC_host=.*
replace: "$FC_host={{ new_value }}"
state
不是 replace
的参数
- 变量名不能包含空格
- 您不需要引用
regexp
值
- 您不需要在替换值中转义美元符号
我需要一个 Regexp 和 Replace 表达式来从 CSV 文件中捕获内容。我的 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;
下面是我的代码。此代码有效,但几乎没有 issues.Kindly 帮助我 this.Moreover 我正在使用正则表达式和替换,因此我需要在远程服务器中更新它们。
---
- 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: '{{ item.name }}={{ item.value }};'
# state: present
with_items:
- "{{ properties }}"
with open('items.csv', 'r')as file:
for row in file:
print row.replace('TH_host', 'Something else')
>>$TH_appName=tuipatthcrfh3320
>>#$Something else=10.145.129.75
>>$Something else=10.145.129.75
>>...
除非您需要使用正则表达式,例如一些数字或一定数量的空格,否则您不需要正则表达式。正则表达式非常昂贵,因此应尽可能 avoided。
任务应如下所示:
- name: Find and Replace
replace:
dest: /etc/ansible/kalyan-tui/example.csv
regexp: ^$FC_host=.*
replace: "$FC_host={{ new_value }}"
state
不是replace
的参数
- 变量名不能包含空格
- 您不需要引用
regexp
值 - 您不需要在替换值中转义美元符号