Как закомментировать конкретную строку, используя ansible - PullRequest
0 голосов
/ 05 декабря 2018

Я должен закомментировать строку clear_me из файла конфигурации на данный момент как часть обходного пути.Файл примера выглядит так, как показано ниже.Я не хочу добавлять комментарий перед def clear_me

def clear_me
    FactValue.where("user_id = #{id}").delete_all
  end

  def clear_userdata
    return unless .....  
    clear_me
    clear_reports
  end

, когда я делаю это:

- name: Comment out 
  replace:
          path: <>
          regexp: 'clear_me'
          replace: '#clear_me'
          backup: yes

Я вижу две замены, т.е. clear_me перед моей def такжезакомментирован .Что мне не хватает ??:

o/p:
changed: [localhost] => {"backup_file": "user.27018.2018-12-04@21:29:58~", "changed": true, "msg": "2 replacements made"

cat <file_name? | grep clear_me
  def **#clear_me**
    **#clear_me**

Мне нужно только закомментировать отдельную строку clear_me, а не ту, которая входит в def

1 Ответ

0 голосов
/ 05 декабря 2018

Шаблон регулярного выражения в вопросе будет соответствовать любому числу слова clear_me в файле.Если изменить шаблон регулярного выражения на приведенный ниже, изменится только та строка, которую вы на самом деле намереваетесь.

Шаблон регулярного выражения означает, соответствует строке, начинающейся с любого числа пробелов, и имеет clear_me

regex='^ +clear_me$'

или вы также можете использовать приведенное ниже регулярное выражение и заменить

regexp='^( +clear_me$)'
replace='#\1'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...