Ansible : remplacement récursif de texte
Aller à la navigation
Aller à la recherche
Exemple
Il faut récupérer les fichiers, puis utiliser leurs chemins pour faire du replace.
Exemple :
<syntaxhighlight lang="yaml">
--- - hosts: all
become: true tasks:
- name: Récupérer les fichiers find: patterns: "config" paths: /var/log recurse: yes register: fichiers
- name: debuggage debug: msg: "Modèle:Item.path" with_items: "Modèle:Fichiers.files"
- name: remplacement du texte replace: dest: "Modèle:Item.path" regexp: 'Modèle:Anneeavant' replace: 'Modèle:Anneeapres' with_items: "Modèle:Fichiers.files"
</syntaxhighlight>
Ici, je remplace anneavant par anneeapres. Le bloc de debug n'est là que pour faire de l'affichage.
Le module find renvoie un dictionnaire, lequel contient un sous ensemble files, lequel contient entre autre le path de chaque fichier. C'est pour ça que je fais un with_items : fichiers.files et que j'agit ensuite sur item.path. Quelle galère !