如何使用Ansible搜索包含特定文本的文件



我想知道除了command之外,是否还有一个Ansible模块会给我一个包含模式的文件列表(递归搜索(?

在Unix上我会做

find . -type f -exec grep -l pattern {} ;

结果将是一个文件列表,我会迭代以用另一个值更改一个值

您可以使用find模块来完成此操作。contains参数接受正则表达式来搜索文件内容:

- name: Find files
find:
paths: /var/log
contains: pattern
register: found_files

find模块的结果包含属性files(具有匹配文件的列表(和属性matched(具有匹配的文件的数量(。您可以使用find命令上的register属性(上面的found_files(来存储结果。

最新更新