【发布时间】:2020-03-05 07:51:44
【问题描述】:
我有一个问题,当它是一个循环时,我无法将路径排除在搜索之外。
我以详细模式附加结果。
ok: [server04] => (item={u'nombre': u'server04', u'activ': 1, u'sen_num': 4}) => {
"ansible_loop_var": "item",
"item": {
"activ": 1,
"nombre": "server04",
"sen_num": 4
},
"registeroutput": {
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": false,
"item": {
"activ": 0,
"nombre": "server01",
"sen_num": 1
},
"skip_reason": "Conditional result was False",
"skipped": true
},
{
"ansible_loop_var": "item",
"changed": false,
"item": {
"activ": 0,
"nombre": "server02",
"sen_num": 2
},
"skip_reason": "Conditional result was False",
"skipped": true
},
{
"ansible_loop_var": "item",
"changed": false,
"item": {
"activ": 0,
"nombre": "son03vmonvlc-voip",
"sen_num": 3
},
"skip_reason": "Conditional result was False",
"skipped": true
},
{
"ansible_loop_var": "item",
"changed": false,
"examined": 44211,
"failed": false,
"files": [
{
"atime": 1583335682.6563582,
"ctime": 1583335657.5443044,
"dev": 64768,
"gid": 0,
"gr_name": "root",
"inode": 8984071,
"isblk": false,
"ischr": false,
"isdir": true,
"isfifo": false,
"isgid": false,
"islnk": false,
"isreg": false,
"issock": false,
"isuid": false,
"mode": "0755",
"mtime": 1583335657.5443044,
"nlink": 2,
"path": "/tmp/erverfile_ouput",
"pw_name": "root",
"rgrp": true,
"roth": true,
"rusr": true,
"size": 6,
"uid": 0,
"wgrp": false,
"woth": false,
"wusr": true,
"xgrp": true,
"xoth": true,
"xusr": true
}
],
"invocation": {
"module_args": {
"age": null,
"age_stamp": "mtime",
"contains": null,
"depth": null,
"excludes": null,
"file_type": "directory",
"follow": false,
"get_checksum": false,
"hidden": false,
"paths": [
"/usr"
],
"patterns": [
"erverfile_ouput"
],
"recurse": true,
"size": null,
"use_regex": false
}
},
"item": {
"activ": 1,
"nombre": "server04",
"sen_num": 4
},
"matched": 1,
"msg": ""
}
]
}
}
我想得到“路径”:“/tmp/erverfile_ouput”,“
剧本是:
- name: Find erverfile_ouput
find:
paths: /tmp
patterns: '*erverfile_ouput'
recurse: yes
file_type: directory
register: registeroutput
when: "{{ item.activ }} == 1"
loop: "{{ sondasvars }}"
tags:
- move
- debug:
var: "{{ registeroutput.results.files|map(attribute='path')|list }}"
when: "{{ item.activ }} == 1"
loop: "{{ sondasvars }}"
我尝试使用“地图”过滤器,但无法找到路径。
你能帮帮我吗?
类似链接:How to filter Ansible 'find' output
BR,
【问题讨论】: