You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible写入文件丢失换行符,如何保留设备配置原始格式?

解决Ansible写入配置文件时丢失换行符的问题

直接将stdout_lines作为content传入copy模块时,Ansible会把列表转换成Python列表的字符串格式(比如['line1', 'line2']),自然丢失了换行结构。要保留原始格式,只需用join过滤器将列表元素用换行符拼接:

修改后的Playbook代码:

- name: Pull the running-config...
  cisco.ios.ios_command:
    commands: show running-config brief
  register: running_output

- name: Copy running_config data to file...
  ansible.builtin.copy:
    content: "{{ running_output.stdout_lines | join('\n') }}"
    dest: "/etc/ansible/backups/{{ inventory_hostname }}/running_config.txt"

补充说明

  • stdout_lines本身就是按原始输出拆分好的每行列表,用join('\n')可以完美还原每行的换行分隔
  • 如果需要让文件末尾也保留一个空行,可以改成:{{ running_output.stdout_lines | join('\n') ~ '\n' }}

内容的提问来源于stack exchange,提问作者Moridn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:48:14