Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops Ansible:提取路径循环查找_Loops_Filter_Ansible_Find - Fatal编程技术网

Loops Ansible:提取路径循环查找

Loops Ansible:提取路径循环查找,loops,filter,ansible,find,Loops,Filter,Ansible,Find,我有一个问题,当它是一个循环时,我无法从搜索中获取路径 我正在以详细模式附加结果 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

我有一个问题,当它是一个循环时,我无法从搜索中获取路径

我正在以详细模式附加结果

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/serverfile\u output”

剧本是:

- 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 }}"
我尝试使用“映射”过滤器,但无法获取路径

你能帮我吗

类似链接:


BR,

你必须给出如下信息

- debug:
    msg: "{{ item.files|map(attribute='path')|list }}"
  with_items: "{{registeroutput.results}}"

首先,谢谢你的回答

[警告]:从test.yml第2行第列构造映射时 3,发现重复的dict键(当)。仅使用上次定义的值

错误!任务中重复循环:项

错误出现在“test.yml”中:第22行第3列,但可能是 文件中的其他位置,具体取决于语法问题

令人不快的一行似乎是:

  • 调试:^此处
试着用你的方向启动剧本,但是你不能,因为你使用了2个循环。 我的playbook有第一个循环来检查文件中的一些变量(vars_文件)