私は/etc/foo.txtに単純なファイルがあります。ファイルには、次のものが含まれています。私は上記の行のコメントを解除するには、次のansible脚本タスク持っ可能なラインファイルの複製行
#bar
:私は最初ansible-脚本を実行すると
- name: test lineinfile
lineinfile: backup=yes state=present dest=/etc/foo.txt
regexp='^#bar'
line='bar'
を、行はコメント解除し、/ etcます/
:私は再びansible-脚本を実行する場合、私は、次の取得、しかしbar
:foo.txtのは、今、以下が含まれています
bar
bar
私はまだそれを再度実行した場合、/etc/foo.txtファイルは次のようになります。
bar
bar
bar
どのラインのこの重複を避けるために?私はちょうど '#bar'のコメントを外してそれで済むようにしたい。
しかし、それは常にファイルを変更します。私の理解は、正規表現が一致したときに行が挿入される(ファイルが変更される)ことだけでした。 – jdevora
ファイルが毎回同じになる限り、タスクは冪等である。それは重要なことのすべてです。 – joemaller
これと組み合わせて 'insertafter'を使うと、重複した行が再び終わるという難しい方法を見つけました。 'insertafter'はこの式を壊します。 –