# split  with multiple columns in debug

**URL:** <https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701>\
**Category:** Ansible Project\
**Created:** [February 27, 2023, 4:46pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701 "2023-02-27T16:46:54Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Veera](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/veera/32/4107_2.png) [@Veera](https://forum.ansible.com/u/Veera)\
**Post date:** [February 27, 2023, 4:46pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/1 "2023-02-27T16:46:54Z")

</div>

Hi,

When I try to split the output of uptime to capture the "load average from the below line

$ uptime  
18:37:01 up 5 days, 4:37, 2 users, load average: 0.02, 0.05, 0.00

using the below playbook

---

<div class="post-metadata">

**Author:** ![Walter\_Rowe](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/walter_rowe/32/4506_2.png) [@Walter\_Rowe](https://forum.ansible.com/u/Walter_Rowe)\
**Post date:** [February 27, 2023, 5:27pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/2 "2023-02-27T17:27:34Z")

</div>

> load\_avg: “{{ up\_out.stdout\_lines[0].split()[7:] }}”

Just use [7:] to get from position 7 on in your list.

---

<div class="post-metadata">

**Author:** ![shearn](https://avatars.discourse-cdn.com/v4/letter/s/ba8739/32.png) [@shearn](https://forum.ansible.com/u/shearn)\
**Post date:** [February 27, 2023, 6:00pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/3 "2023-02-27T18:00:32Z")

</div>

Veera,

Be careful splitting uptime on white space because when a system is up less than 24 hours, it will show

12:58:10 up 6:51, 0 users, load average: 1.08, 0.99, 1.05

which will have one less white space and your desired output will be position 6.

I would recommend splitting the output on comma. The fourth value will always be load average.

Regards,

Stan

---

<div class="post-metadata">

**Author:** ![Walter\_Rowe](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/walter_rowe/32/4506_2.png) [@Walter\_Rowe](https://forum.ansible.com/u/Walter_Rowe)\
**Post date:** [February 27, 2023, 6:09pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/4 "2023-02-27T18:09:06Z")

</div>

An even more elegant solution would be to use ‘[-3:]’ to get the last three items regardless of how many there are.

---

<div class="post-metadata">

**Author:** ![Walter\_Rowe](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/walter_rowe/32/4506_2.png) [@Walter\_Rowe](https://forum.ansible.com/u/Walter_Rowe)\
**Post date:** [February 27, 2023, 6:12pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/5 "2023-02-27T18:12:37Z")

</div>

**% cat split.yml**

---

<div class="post-metadata">

**Author:** ![Walter\_Rowe](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/walter_rowe/32/4506_2.png) [@Walter\_Rowe](https://forum.ansible.com/u/Walter_Rowe)\
**Post date:** [February 27, 2023, 6:18pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/6 "2023-02-27T18:18:48Z")

</div>

If you want the commas removed you can do that too.

- “{{ text\_to\_split1.replace(‘,’,‘’).split()[-3:] }}”
- “{{ text\_to\_split2.replace(‘,’,‘’).split()[-3:] }}”

ok: [localhost] =\> {  
“msg”: [  
[  
“0.02”,  
“0.05”,  
“0.00”  
],  
[  
“1.08”,  
“0.99”,  
“1.05”  
]  
]  
}

Walter

---

<div class="post-metadata">

**Author:** ![Veera](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/veera/32/4107_2.png) [@Veera](https://forum.ansible.com/u/Veera)\
**Post date:** [February 28, 2023, 5:07am UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/7 "2023-02-28T05:07:45Z")

</div>

Thanks a lot for the valuable input…

---

<div class="post-metadata">

**Author:** ![Veera](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/veera/32/4107_2.png) [@Veera](https://forum.ansible.com/u/Veera)\
**Post date:** [February 28, 2023, 5:24am UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/8 "2023-02-28T05:24:52Z")

</div>

Thanks Walter… the options helped me a lot.

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [February 28, 2023, 7:11am UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/9 "2023-02-28T07:11:23Z")

</div>

Given the registered variable \*up\_out\*

&nbsp;&nbsp;- command: uptime  
&nbsp;&nbsp;&nbsp;&nbsp;register: up\_out

Use the filter community.general.jc to parse the stdout. The utility  
\*jc\* "converts the output of many commands, file-types, and strings  
to JSON or YAML". For example,

&nbsp;&nbsp;uptime: "{{ up\_out.stdout|community.general.jc('uptime') }}"

gives

&nbsp;&nbsp;uptime:  
&nbsp;&nbsp;&nbsp;&nbsp;load\_15m: 1.21  
&nbsp;&nbsp;&nbsp;&nbsp;load\_1m: 1.84  
&nbsp;&nbsp;&nbsp;&nbsp;load\_5m: 1.41  
&nbsp;&nbsp;&nbsp;&nbsp;time: 07:57:41  
&nbsp;&nbsp;&nbsp;&nbsp;time\_hour: 7  
&nbsp;&nbsp;&nbsp;&nbsp;time\_minute: 57  
&nbsp;&nbsp;&nbsp;&nbsp;time\_second: 41  
&nbsp;&nbsp;&nbsp;&nbsp;uptime: 11 days, 18:12  
&nbsp;&nbsp;&nbsp;&nbsp;uptime\_days: 11  
&nbsp;&nbsp;&nbsp;&nbsp;uptime\_hours: 18  
&nbsp;&nbsp;&nbsp;&nbsp;uptime\_minutes: 12  
&nbsp;&nbsp;&nbsp;&nbsp;uptime\_total\_seconds: 1015920  
&nbsp;&nbsp;&nbsp;&nbsp;users: 2

The first three attributes come from "load average". Quoting from man  
uptime: "The averages are taken over the three time intervals." Now,  
the usage is trivial. For example,

&nbsp;&nbsp;load\_average: \>  
&nbsp;&nbsp;&nbsp;&nbsp;{{ uptime.load\_1m }},  
&nbsp;&nbsp;&nbsp;&nbsp;{{ uptime.load\_5m}},  
&nbsp;&nbsp;&nbsp;&nbsp;{{ uptime.load\_15m }}

gives

&nbsp;&nbsp;load\_average: |-  
&nbsp;&nbsp;&nbsp;&nbsp;1.84, 1.41, 1.21

---

<div class="post-metadata">

**Author:** ![Walter\_Rowe](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/walter_rowe/32/4506_2.png) [@Walter\_Rowe](https://forum.ansible.com/u/Walter_Rowe)\
**Post date:** [February 28, 2023, 12:53pm UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/10 "2023-02-28T12:53:24Z")

</div>

Excellent find Vladimir! I just shared this with my team. I was unaware of ‘jc’.

Walter

---

<div class="post-metadata">

**Author:** ![Veera](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/veera/32/4107_2.png) [@Veera](https://forum.ansible.com/u/Veera)\
**Post date:** [March 1, 2023, 6:38am UTC](https://forum.ansible.com/t/split-with-multiple-columns-in-debug/37701/11 "2023-03-01T06:38:11Z")

</div>

Thanks Vladimir !!!
