Ansible从标准输出获取列
我是Ansible的新手,因此这个问题对于更高级的用户来说可能显得很愚蠢 无论如何,我需要获取列Ansible从标准输出获取列,ansible,Ansible,我是Ansible的新手,因此这个问题对于更高级的用户来说可能显得很愚蠢 无论如何,我需要获取列LDFree的值362496 我知道我可以将shell模块与管道和awk一起使用,但我想知道是否可以使用某种类型的STDOUT“过滤器”在Ansible中实现它 这是CLI中的标准输出: -------------------------(MB)------------------------- CPG ---EstFree---- --
LDFree
的值362496
我知道我可以将shell模块
与管道和awk
一起使用,但我想知道是否可以使用某种类型的STDOUT“过滤器”在Ansible中实现它
这是CLI中的标准输出:
-------------------------(MB)-------------------------
CPG ---EstFree---- -------Usr------- ---Snp---- ---Adm---- -Capacity Efficiency-
Name RawFree LDFree Total Used Total Used Total Used Compaction Dedup
SSD_r6 483328 362496 12693504 12666880 12288 2048 8192 1024 1.0 -
您可以在知道Ansible/Jinja支持调用本机类型的方法这一事实的情况下做到这一点:
- command: cat test.txt
register: cmd_res
- debug:
msg: "{{ cmd_res.stdout_lines[3].split()[2] }}"
stdout\u行[3]
–取出第四行,.split()
–将其拆分为令牌,[2]
–取出第三个令牌。您可以做到这一点,因为您知道Ansible/Jinja支持调用本机类型的方法:
- command: cat test.txt
register: cmd_res
- debug:
msg: "{{ cmd_res.stdout_lines[3].split()[2] }}"
stdout\u-line[3]
–取出第四行,.split()
–将其拆分为代币,[2]
–取出第三个代币。谢谢,我知道会有其他方法。谢谢,我知道会有其他方法做到这一点。