Задать вопрос
juffinhalli
@juffinhalli

Как раскомментировать сложную строку с помощью Ansible?

Добрый день!
Дано:
файл с тремя строками
--awful.util.spawn('sh -c "sleep 5s && one"')
--awful.util.spawn('sh -c "sleep 5s && two"')
--awful.util.spawn('sh -c "sleep 5s && three"')

Задача
Раскомментировать (убрать первые cимволы --) в строке содержащей two

Моя попытка:
- replace:
      dest=/home/{{ desktop_user }}/.config/awesome/rc.lua
      regexp="--awful.util.spawn(\"sh -c \"sleep 5s && two\"')"
      replace="awful.util.spawn(\"sh -c \"sleep 5s && two\"')"

playbook проходит без изменений

Прошу помочь в решении задачи.
Заранее спасибо
P.S. Python не знаю
P.P.S. Читал документацию, но понял слишком мало.
  • Вопрос задан
  • 535 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
sim3x
@sim3x
- replace:
      dest=/home/{{ desktop_user }}/.config/awesome/rc.lua
      regexp="\-\-awful\.util\.spawn\(\'sh\ \-c\ \"sleep\ 5s\ \&\&\ one\"\)"
      replace="awful.util.spawn('sh -c \"sleep 5s && two\"')"


такую строку можно подготовить так
import re

print re.escape("""--awful.util.spawn('sh -c "sleep 5s && one")""")

# \-\-awful\.util\.spawn\(\'sh\ \-c\ \"sleep\ 5s\ \&\&\ one\"\)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dizballanze
@dizballanze
Software developer at Yandex
Лучше вынесите такие файлы в шаблоны и там легко уже любую логику реализовать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы