我有一个文件夹,里面有几个子文件夹和文件。我需要立即更改所有文件中的字符串。我只能对一个文件执行此操作,但在子文件夹中的其他文件中,这不会影响它们。
- name: Find all files with .json extension
find:
paths: /test/configuration/nginx/trials/{{ name }}/trial-admin-app/
patterns: 'app-config.json'
register: repos
- name: Change string inside file
replace:
dest: /test/configuration/nginx/trials/{{ name }}/trial-admin-app/ #app-config.json
regexp: '{trial-name}'
replace: '{{ name }}'
with_items: "{{ repos.stdout_lines }}"
如何更改文件夹中还有子文件夹的所有文件?
答案1
您正在使用的模块find
有一个recurse
参数,但默认情况下它是关闭的。
- name: Find all files with .json extension
find:
paths: /test/configuration/nginx/trials/{{ name }}/trial-admin-app/
patterns: 'app-config.json'
recurse: yes
register: repos
通过打开它,我想你会得到你想要的行为。