Hi Racke,

Giving below syntax worked as you said!!!!   My deepest gratitude to you 
for solving this nerve wracking issue!
* "{{ show_space.stdout[0] | regex_findall('\\d+')  | last }}"*

This made me wonder about some thing else - as i understand, 'stdout' means 
that it quotes the output of variable and '[0]' means referencing the first 
char or command. So how does adding .stdout[0] make all the difference?

Also i saw several in ansible documentation with ('\\d+') but it was never 
really explained what this meant (though i understand now). Should i read 
python to understand these parameters?

Once again, many thanks Racke. You have been consistently helping with so 
many of my queries!

Vikram

On Tuesday, 20 April, 2021 at 7:50:56 pm UTC+5:30 brae...@gmail.com wrote:

> On 4/20/21 3:07 PM, Vikram S wrote:
> > Hi Racke,
> > 
> > Thanks for the syntax, it is giving an output close to what i want but 
> not exactly the numbers i want to extract.
>
> Hello Vikram,
>
> that is because you didn't give the exact input, aka the contents of the 
> show_space variable.
>
> Regards
> Racke
>
> > 
> > *OUTPUT IN DEVICE:*
> > SWITCH#sh flash: | i bytes
> > 122185728 bytes total (48700416 bytes free)
> > 
> > *MY SCRIPT:*
> >  tasks:
> >     - name: GATHER MASTER FLASH FREE SPACE
> >       ios_command:
> >         commands: "show flash: | i bytes"
> > 
> >       register: show_space
> > 
> >     - debug:
> >         msg: "{{ show_space | regex_findall('\\d+') 
> | last }}"
> > 
> > *ANSIBLE OUTPUT:*
> > TASK [debug]
> > 
> ******************************************************************************************************************************************************************************************************
> > ok: [TEST2960] => {
> >     "msg": "3"
> > 
> > If i give the script without the last keyword, below is output:
> >  - debug:
> >         msg: "{{ show_space | regex_findall('\\d+')  }}"
> > 
> > TASK [debug]
> > 
> ******************************************************************************************************************************************************************************************************
> > ok: [TEST2960] => {
> >     "msg": [
> >         "122185728",
> >         "48700416",
> >         "122185728",
> >         "48700416",
> >         "3"
> >     ]
> > 
> > So how can the syntax be modified such that i get only '48700416' in 
> output? I then plan to 'int' filter to convert it
> > into a integer so that i can then compare it againt a value.
> > 
> > Thanks,
> > Vikram
> > On Tuesday, 20 April, 2021 at 6:16:08 pm UTC+5:30 brae...@gmail.com 
> wrote:
> > 
> > On 4/20/21 2:16 PM, Vikram S wrote:
> > > Hi Racke,
> > >
> > > I am not sure if ansible_mounts may help me. Reason is in a stacked 
> cisco switch, 'ansible_net_filesystems_info' of
> > > ios_facts module only shows free space of master switch. It doesn't 
> show space of member switches. But I need to
> > write a
> > > script that will check for certain amt of free space in EVERY member 
> switch before copying ios image.
> > >
> > > So i thought of using regex to extract the number and use int filter to
> > convfert it into a integer acheive my objective.
> > > Can you please give me sample regex syntax?
> > >
> > > *command in cli: sh flash2:*
> > >
> > > *data i want to use regex: 122185728 bytes total (9308672 bytes free)*
> > > *
> > > *
> > > Thanks,
> > > Vikram
> > 
> > Hello Vikram,
> > 
> > this should help you to get the second number from your string:
> > 
> > - debug:
> > msg: "{{ diskspace_string | regex_findall('\\d+') | last }}"
> > vars:
> > diskspace_string: '122185728 bytes total (9308672 bytes free)'
> > 
> > Regards
> > Racke
> > 
> > >
> > > On Tuesday, 20 April, 2021 at 5:27:11 pm UTC+5:30 brae...@gmail.com 
> wrote:
> > >
> > > On 4/20/21 12:17 PM, Vikram S wrote:
> > > > Hi,
> > > >
> > > > I went through ansible documentation for regex filter and it's 
> various example. But please excuse my
> > incomprehension,
> > > > iam stuck on using regex to extract the integers.
> > > >
> > > > Below is the output on which i want to use regex. I want to filter 
> out only '48700416' and leave out everything
> > > else and
> > > > then use 'int' filter on it so that i can then compare it against
> > a particular number. Can you please give a sample
> > > > regex syntax to achieve this?
> > > >
> > > > *122185728 bytes total (48700416 bytes free)*
> > > > *
> > > > *
> > > > Thanks,
> > > > Vikram
> > >
> > > Hello Vikram,
> > >
> > > if you are talking about diskspace, you can use the ansible_mounts 
> variable, e.g.
> > >
> > > - debug
> > > msg: |
> > > {% for mt in ansible_mounts %}
> > > {{ mt.mount }}: {{ ( mt.size_available / ( 1024 | pow(3))) | round(2) 
> }} GB free
> > > {% endfor %}
> > >
> > > Regards
> > > Racke
> > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > 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
> > > > ansible-proje...@googlegroups.com <mailto:
> ansible-proje...@googlegroups.com>.
> > > > To view this discussion on the web visit
> > > > 
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com
> >
> > > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com
> >>
> > > >
> > >
> > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com?utm_medium=email&utm_source=footer
> > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com?utm_medium=email&utm_source=footer
> >
> > 
> > >
> > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com?utm_medium=email&utm_source=footer
> > <
> https://groups.google.com/d/msgid/ansible-project/2999c167-454e-4d35-a198-a71e515053fcn%40googlegroups.com?utm_medium=email&utm_source=footer
> >>>.
> > 
> > >
> > >
> > >
> > > --
> > > Ecommerce and Linux consulting + Perl and web application programming.
> > > Debian and Sympa administration. Provisioning with Ansible.
> > >
> > >
> > >
> > > --
> > > 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
> > > ansible-proje...@googlegroups.com <mailto:
> ansible-proje...@googlegroups.com>.
> > > To view this discussion on the web visit
> > > 
> https://groups.google.com/d/msgid/ansible-project/ba7ffa19-85da-4da6-8142-c12ac066cbd5n%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/ba7ffa19-85da-4da6-8142-c12ac066cbd5n%40googlegroups.com
> >
> > >
> > <
> https://groups.google.com/d/msgid/ansible-project/ba7ffa19-85da-4da6-8142-c12ac066cbd5n%40googlegroups.com?utm_medium=email&utm_source=footer
> > <
> https://groups.google.com/d/msgid/ansible-project/ba7ffa19-85da-4da6-8142-c12ac066cbd5n%40googlegroups.com?utm_medium=email&utm_source=footer
> >>.
> > 
> > 
> > 
> > -- 
> > Ecommerce and Linux consulting + Perl and web application programming.
> > Debian and Sympa administration. Provisioning with Ansible.
> > 
> > -- 
> > 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
> > ansible-proje...@googlegroups.com <mailto:
> ansible-proje...@googlegroups.com>.
> > To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/ansible-project/06771fa8-72ef-4f52-8cb0-f13515fc72can%40googlegroups.com
> > <
> https://groups.google.com/d/msgid/ansible-project/06771fa8-72ef-4f52-8cb0-f13515fc72can%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
>
> -- 
> Ecommerce and Linux consulting + Perl and web application programming.
> Debian and Sympa administration. Provisioning with Ansible.
>
>

-- 
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/28112b06-90a6-4729-9856-94f77e5316b1n%40googlegroups.com.

Reply via email to