その中には複数のサブフォルダとファイルがあるフォルダがあります。すべてのファイルの文字列を一度に変更する必要があります。これは1つのファイルに対してのみ実行できますが、サブフォルダ内の他のファイルには影響しません。
- 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
オンにすれば、好きな動作が得られると思います。