我在我的任务中尝试过这个,但似乎不起作用
- name: Fix line endings from CRLF to LF
local_action: replace dest={{my_dir}}/conf/{{item}} regexp='\r\n' replace='\n'
Run Code Online (Sandbox Code Playgroud)
我通常使用 sed 执行此操作,如下所示,它有效
sed -i 's/\r//g' file
Run Code Online (Sandbox Code Playgroud)
我想避免使用 shell 模块来进行此替换,因为它会在 ansible 中引发警告
您可以使用该命令删除 CRLF 行结尾-replace。您的剧本可能如下所示:
---
- hosts: all
tasks:
- local_action: replace dest={{my_dir}}/conf/{{item}} regexp="\r"
Run Code Online (Sandbox Code Playgroud)
replace如果在命令中不指定参数- replace,它只会删除所有回车符。请参阅http://docs.ansible.com/ansible/replace_module.html。
我用我创建的本地文件对此进行了测试,并且在本地主机上测试时它有效。/etc/ansible/hosts当我将 localhost 添加到文件并使用以下剧本时,它也有效:
---
- hosts: all
tasks:
- replace: dest={{my_dir}}/conf/{{item}} regexp="\r"
Run Code Online (Sandbox Code Playgroud)
请务必使用绝对文件路径。
| 归档时间: |
|
| 查看次数: |
7273 次 |
| 最近记录: |