그 안에 여러 하위 폴더와 파일이 있는 폴더가 있습니다. 모든 파일의 문자열을 한 번에 변경해야 합니다. 이 작업은 하나의 파일에만 수행할 수 있지만 하위 폴더의 다른 파일에는 영향을 주지 않습니다.
- 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
켜면 원하는 동작을 얻을 수 있다고 생각합니다.