2017-06-13 114 views
0

我是Ansible的新手,因此對於更高級的用戶來說,這個問題可能看起來很愚蠢。Ansible從標準輸出獲得列

無論如何,我需要得到值爲362496LDFree

我知道我可以使用shell modulepipes and awk,但我想知道,如果它使用的是某種「過濾器」的標準輸出的是posisble才達到它的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  - 

回答

1

你可以做這個知道的事實,Ansible /神社支持調用本地類型的方法:

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

stdout_lines[3] - 以第四行, .split() - 將其拆分爲令牌,[2] - 取第三個令牌。

+0

謝謝,我知道會有一些其他方式來做到這一點。 – MMT