Ansible はファイル内の最初の項目を置き換えます。

Ansible はファイル内の最初の項目を置き換えます。

私はAnsiblesreplaceモジュールを使用しており、ファイル内の最初の項目のみを変更したいと思います。

サンプル文字列があります。

example.string.in.my.text=test.@@sometext@@

私は希望:

example.string.in.my.text=test.$$sometext@@

My Ansibleはreplaceゲームにこのモジュールを使用します。

- name: tasks replace
  replace:
     regexp: '(@@+?)'
     replace: '$$'

この使命は私のすべてを変えました@@

example.string.in.my.text=test.$$sometext$$

最初の発生のみを変更するにはどうすればよいですか@@

ベストアンサー1

GMasterの答えは、各行の最後の項目と一致します。次のバージョンでは、非欲張りマッチングを使用して行の最初の一致を検索し、欲張りマッチングを使用して次の行と一致しないようにファイルの残りの部分を見つけます。

- name: tasks replace
  replace:
    regexp: '^(.*?\.)@@([.\n]*)$'
    replace: '\1$$\2'

最新のコミュニティバージョンに基づいて回答https://docs.ansible.com/ansible/latest/collections/ansible/builtin/replace_module.html

おすすめ記事