Ansible:删除标准输出中不需要的字符
我正在运行一个ansible play,我想解析Ansible:删除标准输出中不需要的字符,ansible,Ansible,我正在运行一个ansible play,我想解析kubect cluser info命令的输出 我期望得到的是: $ kubectl cluster-info Kubernetes master is running at https://192.168.60.11:6443 KubeDNS is running at https://192.168.60.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dn
kubect cluser info
命令的输出
我期望得到的是:
$ kubectl cluster-info
Kubernetes master is running at https://192.168.60.11:6443
KubeDNS is running at https://192.168.60.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
我从以下任务中实际得到的信息:
- name: master_setup.yml --> Check if cluster is already running and exit if so
shell: "kubectl cluster-info"
failed_when: false
register: rv_cluster_info
environment:
KUBECONFIG: "/etc/kubernetes/admin.conf"
become: yes
- name: master_setup.yml --> DEBUG
debug:
var: rv_cluster_info
这是:
ok: [kubernetes-master-1] =>
rv_cluster_info:
changed: true
cmd: kubectl cluster-info
delta: '0:00:00.174232'
end: '2019-04-07 09:41:39.237907'
failed: false
failed_when_result: false
rc: 0
start: '2019-04-07 09:41:39.063675'
stderr: ''
stderr_lines: []
stdout: |-
[0;32mKubernetes master[0m is running at [0;33mhttps://192.168.60.11:6443[0m
[0;32mKubeDNS[0m is running at [0;33mhttps://192.168.60.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy[0m
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
stdout_lines:
- "\e[0;32mKubernetes master\e[0m is running at \e[0;33mhttps://192.168.60.11:6443\e[0m"
- "\e[0;32mKubeDNS\e[0m is running at \e[0;33mhttps://192.168.60.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy\e[0m"
- ''
- To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
我怎样才能摆脱这种恼人的\e[0;33
东西
编辑:显然这些是默认情况下由kubectl
打印的颜色代码。这就成功了
- name: master_setup.yml --> DEBUG REGEX
debug:
var: rv_cluster_info.stdout | regex_replace('\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]', '')
regex使用了SO的答案。这就成功了
- name: master_setup.yml --> DEBUG REGEX
debug:
var: rv_cluster_info.stdout | regex_replace('\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]', '')
正则表达式从SO开始使用