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

时间:2018-12-07 10:45:11

标签: grep find ansible command

我想知道是否有command以外的Ansible模块可以为我提供包含模式的文件列表(递归搜索)?

在Unix上我愿意

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

结果将是我要更改另一个值的文件列表

1 个答案:

答案 0 :(得分:1)

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

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

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