试图添加有效的python regex作为find模块中patterns选项的参数,但不起作用。
printArray
问题似乎出在“ \ n”上,我尝试了多个反斜杠,单引号和方括号,但还无法使其正常运行。
我正在运行ansible 2.3.2.0。
答案 0 :(得分:1)
尝试(未测试)
patterns: "^auto(_|\\.)([a-zA-Z]+{{'\n'}})"
答案 1 :(得分:0)
解决了这个问题。该模式旨在匹配以下文件名:
/etc/auto_(one or more letters, end of filename)
/etc/auto.(one or more letters, end of filename)
以下文件名是与模式匹配的示例:
/etc/auto.master or /etc/auto_master
以下文件名是与模式不匹配的示例:
/etc/old.auto.master
/etc/old.auto_master
/etc/auto.master.20180101
/etc/auto_master.20180101
最终成功的ansible模式:
"^auto(_|\\.)([a-zA-Z]+)$"
这是在查找任务中成功使用模式的方式:
- name: Obtain a list of auto* files in /etc
find:
path: /etc
patterns:
- "^auto(_|\\.)([a-zA-Z]+)$"
- "^fstab$"
- "^vfstab$"
use_regex: yes
register: etc_auto_files
感谢那些发表评论并尝试回答这个问题的人。