Ansible-修改变量

Ansible-修改变量,ansible,yaml,Ansible,Yaml,我试图修改ansible变量中的值,如下所示: - name: Store edited data in file shell: cat "{{ list }}" | tr -s ' ' | cut -d' ' -f3 | tr -d ',"' | tr -d ',"' register: filenew 其中{{list}}类似于: "alertname": "KubePodCrashLooping&quo

我试图修改ansible变量中的值,如下所示:

- name: Store edited data in file
  shell: cat "{{ list }}" | tr -s ' ' | cut -d' ' -f3 | tr -d ',"' | tr -d ',"'
  register: filenew
其中{{list}}类似于:

    "alertname": "KubePodCrashLooping",
    "alertname": "AlertmanagerReceiversNotConfigured",
    "alertname": "ImagePruningDisabled",
    "alertname": "CPUThrottlingHigh",
    
尝试获取以下内容,其中仅显示名称:

KubePodCrashLooping
AlertmanagerReceiversNotConfigured
ImagePruningDisabled
CPUThrottlingHigh

循环浏览列表,然后按如下方式修改每个项目:

- name: store edited data in file
  debug:
    msg: {{ item.split(":")[1].split('"')[1].split('"')[0]
  with_items: {{ list }}
  register: fileitem

如果数据存储在文件
list.data
中,下面的任务将创建带有名称的列表
行。比如说

-设置事实:
lines_new:“{{lines_new |默认值([]))+
[项目.拆分(':')[1][2:-2]]}”
循环:“{lookup('file','list.data').splitlines()}”
-调试:
var:lines_new
给予

行\u新建:
-Kubepodparshlooping
-AlertmanagerReceiversNotConfigured
-图像修剪已禁用
-CPUThrottlingHigh
在Ansible中创建文件的最佳实践是模块
模板
。例如,创建一个模板

shel> cat filenew.j2 
{% for item in lines_new %}
{{ item }}
{% endfor %}
然后是任务

-模板:
src:filenew.j2
dest:filenew
从模板
filenew.j2

shell>cat文件新建
Kubepodparshlooping
AlertmanagerReceiversNotConfigured
图像修剪已禁用
CPUThrottlingHigh

能否给出{{list}}内的值和所需输出的示例?修改了数据。请查收。非常感谢。