Size: a a a

ansible — русскоговорящее сообщество

2018 February 15

NK

ID:448411134 in ansible — русскоговорящее сообщество
Спасибо. Буду пробовать
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Что я делаю не так:
    - name: Add domain in to end of line
     lineinfile:
       path: "/etc/ansible/playbooks/apache/domains.yml"
       regexp: '^(domressult:(?!.*{{ domproj }})\"[^\"]+)(\".*)'
       line: '\1 {{ domproj }}\2'
       state: present
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Оно добавляет новую строчку. А надо чтобы записывало в конец строчки
источник

M

Mikhail in ansible — русскоговорящее сообщество
Если новую добавил, значит regexp: не совпал с существующей.
источник

M

Mikhail in ansible — русскоговорящее сообщество
На каком-нибудь онлайновом регексп дебагере попробовать лучше вначале
источник

M

Mikhail in ansible — русскоговорящее сообщество
источник

M

Mikhail in ansible — русскоговорящее сообщество
Я бы не усложнял с NagativeLookahead...
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Всё вроде верно, а оно всё равно новую строку лепит и всё...
источник

M

Mikhail in ansible — русскоговорящее сообщество
Кажется нужен пробел после названия переменной, нет?
regexp: '^(domressult:\s+(?!.*{{ domproj }})\"[^\"]+)(\".*)'
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
С пробелом тоже самое.
Строка в файле выглядит вот так:
domresult: "-d domain1.com -d domain2.com"

Ну должно же работать
источник

M

Mikhail in ansible — русскоговорящее сообщество
А вообще вот так
^(domressult:\s+\"[^\"]+?)(\".*)
А от повторного добавления защищаться отдельной задачей.
источник

M

Mikhail in ansible — русскоговорящее сообщество
А lookahead мне кажется вообще не поможет. даже если заставить его работать, то строка не будет матчиться когда домен уже добавлен и будет добавлять новую строку
источник

M

Mikhail in ansible — русскоговорящее сообщество
А еще правильнее вот так
regexp:  '^domressult:\s+\"([^\"]+?)(\".*)'
line: 'domressult: "\1 {{ domproj }}\2'

Чтобы если нет такой строчки, она адекватно добавилась
источник

M

Mikhail in ansible — русскоговорящее сообщество
И кстати, а в слове domressult: точно два s ?
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Одно, я исправил_
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Просто интересно получается.

Если строка с кавычками:
domresult: "-d domain1.com -d domain2.com"
То он стирает всю строку и записывает один домен

Если строка без кавычек:
domresult: -d domain1.com -d domain2.com
То добавляет новую строку с доменом
источник

M

Mikhail in ansible — русскоговорящее сообщество
Это с lookahead?
источник

M

Mikhail in ansible — русскоговорящее сообщество
https://regex101.com/r/PMMgDw/1 вот работающий пример
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Минуту
источник

M

Mikhail in ansible — русскоговорящее сообщество
Проблема - Добавляет повторно. Но на мой взгляд, это проще отдельной задачей выловить заранее.
источник