Ansible从stdout

时间:2017-06-13 10:06:02

标签: ansible

我是Ansible的新手,因此这个问题对于更高级的用户来说可能看起来很愚蠢。

无论如何,我需要为列362496获取值LDFree

我知道我可以将shell modulepipes and awk一起使用,但我想知道是否可以使用某种"过滤器"在Ansible中实现它。对于STDOUT?

这是CLI的STDOUT:

       -------------------------(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        -

1 个答案:

答案 0 :(得分:1)

你可以知道Ansible / Jinja支持调用本机类型的方法这一事实:

- command: cat test.txt
  register: cmd_res
- debug:
    msg: "{{ cmd_res.stdout_lines[3].split()[2] }}"

stdout_lines[3] - 采取行,.split() - 将其拆分为令牌,[2] - 取第三个令牌。