我在嵌套文件夹中有多个@objc protocol TextViewInputField {
var indexPath: IndexPath? { get set }
var textView: UITextView! { get set }
var lblPlaceHolder: UILabel! { get set }
func updatePHHiddenState()
}
文件,其中包含我的常用配置。
config.properties
:
/myproject/env/dev/config.properties
LOG_PATH=/app/log
LOG_LEVEL=INFO
CLUSTER=ABC
NAMESPACE=dev
:
/myproject/env/test/config.properties
我想列出CLUSTER=ABC
NAMESPACE=test
中不可用的一组密钥,例如(LOG_PATH
)的文件。
我能够在contains参数中进行正向查找(config.properties
),但是当我进行负向查找时,它将显示两个文件路径都匹配,但是我希望它仅显示一个路径contains: LOG_PATH
。 / p>
我的正则表达式有问题吗?我使用https://pythex.org进行了验证,并且可以在其中运行。我还使用了DOTALL regex /test/config.properties
^((?!LOG_PATH)[\\s][\\S])*$
:
findFiles-Playbook.yml
答案 0 :(得分:0)
一切正常:
使用contains: LOG_PATH
搜索包含LOG_PATH
(只有/myproject/env/dev/config.properties
包含该行)的文件
使用^((?!LOG_PATH).)*$
搜索包含以LOG_PATH
开头的行以外的文件(两个示例文件都包含这样的行)
LOG_PATH
行的文件;没有其他行无法在单个Ansible find
模块调用中指定“不包含”。
您可以:
调用模块两次:一次查找所有与模式匹配的文件,第二次使用contains: LOG_PATH
并处理结果(map(attribute='path')
然后是difference
过滤器)
执行一个返回文件的外部命令(有关灵感,请参见this question);无论如何,此任务不会引起任何变化,因此您可以安全地为任务添加changed: false
以报告ok
。