FreeKB - Ansible replace module (edit a file)
Ansible - replace module (edit a file)

The replace module can be used to replace markup in a file on the managed node (e.g. the target system). Or, the connectiondelegate_to, or local_action modules/parameters can be used to run the task on the control node (that's your Ansible server).

The ansible-doc replace command can be used to show the Ansible documention on the replace module.

Let's say /tmp/foo.txt contains the following text.

Hello

 

In this example, every line beginning with Hello in /tmp/foo.txt will be updated to contain just the text World.

- name: "replace lines beginning with 'Hello' followed by anything with 'World' in foo.txt"
  replace:
    path: "/tmp/foo.txt:
    regexp: "^Hello.*"
    replace: "World"

 

If the file was successfully updated, the play should indicate changed.

TASK [replace lines beginning with 'Hello' followed by anything with 'World' in foo.txt]
changed: [server1.example.com]

 

If the file was not updated, the play should indicate ok. This is the expected behavior if there are no lines to replace in the file.

TASK [replace lines beginning with 'Hello' followed by anything with 'World' in foo.txt]
ok: [server1.example.com]

 

 



Add a Comment




We will never share your name or email with anyone. Enter your email if you would like to be notified when we respond to your comment.




Please enter 5f6cc in the box below so that we can be sure you are a human.




Comments

Web design by yours truely - me, myself, and I   |   jeremy.canfield@freekb.net   |