Hi,

Perhaps you should better use slurp module to register the content of the file and do some regexp to print what you want on it...

https://docs.ansible.com/ansible/latest/modules/slurp_module.html#slurp-module

Regards,


Le 15/01/2020 à 06:34, Shifa Shaikh a écrit :
I wish to search for all entries of string starting with "SSLFile" or starting with"<whitespache>SSLFile" in a file(httpd.conf) and register it to a variable and print all the matches found.

The string is found as evident from the output and the file is not modified which is good; but I'm unable to print (debug) it. I get error as I try to print. Below is my playbook:

|
-name:Findentries
      lineinfile:
        path:"/tmp/httpd.conf"
        regexp:"\\sSSLFile.*"
        state:absent
      check_mode:yes
      changed_when:false
register:filedet

    - debug:
        msg: "{{ filedet }}"

-debug:
        msg:"{{ item.split()[1] }}"
      with_items:
-"{{ filedet.stdout_lines }}"
|

I get the below error when i run the playbook:


    ok: [10.9.9.11] => {
    "backup": "",
    "changed": false,
    "diff": [
    {
    "after": "",
    "after_header": "/tmp/httpd.conf (content)",
    "before": "",
    "before_header": "/tmp/httpd.conf (content)"
    },
    {
    "after_header": "/tmp/httpd.conf (file attributes)",
    "before_header": "/tmp/httpd.conf (file attributes)"
    }
    ],
    "found": 1,
    "invocation": {
    "module_args": {
    "attributes": null,
    "backrefs": false,
    "backup": false,
    "content": null,
    "create": false,
    "delimiter": null,
    "directory_mode": null,
    "firstmatch": false,
    "follow": false,
    "force": null,
    "group": null,
    "insertafter": null,
    "insertbefore": null,
    "line": null,
    "mode": null,
    "owner": null,
    "path": "/tmp/httpd.conf",
    "regexp": "\\sSSLFile.*",
    "remote_src": null,
    "selevel": null,
    "serole": null,
    "setype": null,
    "seuser": null,
    "src": null,
    "state": "absent",
    "unsafe_writes": null,
    "validate": null
    }
    },
    "msg": "1 line(s) removed"
    } TASK [debug]
    *******************************************************************
    *task path: /app/test.yml:924
    *ok: [10.9.9.11] => {
    "msg": {
    "backup": "",
    "changed": false,
    "diff": [
    {
    "after": "",
    "after_header": "/tmp/httpd.conf (content)",
    "before": "",
    "before_header": "/tmp/httpd.conf (content)"
    },
    {
    "after_header": "/tmp/httpd.conf (file attributes)",
    "before_header": "/tmp/httpd.conf (file attributes)"
    }
    ],
    "failed": false,
    "found": 1,
    "msg": "1 line(s) removed"
    }
    } TASK [debug]
    *******************************************************************
    *task path: /app/test.yml:928
    *fatal: [10.9.9.11]: FAILED! => {
    "msg": "'dict object' has no attribute 'stdout_lines'"
    }

Can you please suggest what is the correct way to print all the searched matched strings without modifying the file ? I wish to use the the registered variable to perform other actions later in the playbook.
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/47deda2a-1a8c-4387-9a5b-d2ea548ad752%40googlegroups.com <https://groups.google.com/d/msgid/ansible-project/47deda2a-1a8c-4387-9a5b-d2ea548ad752%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "Ansible 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/82efc325-730b-bd86-9a11-8ead9a5d8713%40lenhof.eu.org.

Reply via email to