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

如何使用Ansible Replace模块移除文件中的^M字符?

用Ansible replace模块移除文件每行末尾的^M字符(无需sed)

完全可以只用Ansible的replace模块实现,不用sed命令。首先要明确:你看到的^M其实是Windows风格的回车符(ASCII码\r),replace模块支持正则匹配来定位并移除它。

直接用下面的Playbook就能搞定:

- name: 清理file.pem中的行尾^M字符
  hosts: 你的目标主机组
  tasks:
    - name: 移除每行末尾的回车符
      ansible.builtin.replace:
        path: /实际路径/file.pem
        regexp: '\r$'
        replace: ''

关键说明:

  • regexp: '\r$':正则表达式里的\r对应你看到的^M,$用来限定只匹配行末尾的回车符,避免误删文件中其他位置可能存在的\r
  • replace: '':将匹配到的行尾回车符替换为空,等同于直接移除它

执行这个Playbook后,file.pem里所有行末尾的^M都会被清除,原本没有^M的最后一行也不会受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:52:41