여러 파일의 Ansible 변경 문자열

여러 파일의 Ansible 변경 문자열

그 안에 여러 하위 폴더와 파일이 있는 폴더가 있습니다. 모든 파일의 문자열을 한 번에 변경해야 합니다. 이 작업은 하나의 파일에만 수행할 수 있지만 하위 폴더의 다른 파일에는 영향을 주지 않습니다.

- 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   

켜면 원하는 동작을 얻을 수 있다고 생각합니다.

관련 정보