lineinfile模块中,它替换了整行。

如果线很长,我必须再次重复整条线。

让我们假设我要替换文件中的单个单词:

#abc.conf
This is my horse

这是剧本:
 - lineinfile: dest=abc.conf
               state=present
               regexp='horse'
               line='This is my dog'
               backup=yes

有什么办法可以实现sed 's/horse/dog/g'吗?

最佳答案

您可以使用backreferences检索该行的其他部分(不应更改):

 - lineinfile: dest=abc.conf
               state=present
               regexp='^(.*)horse(.*)$'
               line='\1dog\2'
               backup=yes
               backrefs=yes

关于linux - Ansible : Is it possible to search replace single word,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22398302/

10-11 07:02