Ansible 将一个数组转换为另一个数组
我正在尝试将一个输出数组转换为另一个数组 假设我有一个命令的以下输出:Ansible 将一个数组转换为另一个数组,ansible,Ansible,我正在尝试将一个输出数组转换为另一个数组 假设我有一个命令的以下输出: kube-system extension-apiserver-authentication 6 119d kube-system kube-dns 0 119d kube-system kube-dns-autoscaler 1 119d k
kube-system extension-apiserver-authentication 6 119d
kube-system kube-dns 0 119d
kube-system kube-dns-autoscaler 1 119d
kube-system kube-flannel-cfg 2 119d
kube-system kubernetes-dashboard-settings 1 29d
我希望每个元素cut-d'-f2
得到一个只包含列2的数组
类似于Java8中的list.stream().map(l->l.getName()).collect(toList())
为了在本地测试它,我尝试使用ls-al
as
ls-al
a文件夹李>
所有者
,并返回所有者列表李>
它的演示将是:
有什么想法吗 F.Y.I 我的电脑中的
ls-al
输出类似于:
-rw-rw-r-- 1 hearen hearen 1 Sep 5 12:55 tmp
不要使用Ansible来实现您将在Bash和中编写的代码 如果您想获得所有者列表,以下是方法:
- name: List a folder
find:
path: .
register: find
- debug:
msg: "{{ find.files | map(attribute='pw_name') | list }}"
我通过
“{{item.split()[2]}}”
而不是cut-d'-f3
来解决这个问题,使用cut元素时有两种情况:
列
李>
- name: List a folder
find:
path: .
register: find
- debug:
msg: "{{ find.files | map(attribute='pw_name') | list }}"
- name: Get Second via split
debug:
msg: "{{ item.split()[1] }}"
loop: "{{ result.stdout_lines }}"