Я использую Salt с jinja2 "regex_search" и пытаюсь извлечь несколько цифр (версия выпуска) из имени файла архива. Затем используйте значение, чтобы создать символическую ссылку, которая содержит его. Я пробовал разные комбинации, используя «list», «join» и другие фильтры, чтобы избавиться от этого символа Unicode, но безуспешно.
Пример:
Переменная "release_info" получает значение "release-name-0.2345.577_20190101_1030.tar.gz", и мне нужно получить только цифры между точками.
Вот соответствующая часть файла sls:
symlink to current release {{ release_info }}:
file.symlink:
- name: /home/{{ component.software['component_name'] }}/latest
- target: /home/{{ component.software['component_name'] }}/{{ release_info |regex_search('(\d+\.\d+\.\d+)') }}
- user: support
- group: support`enter code here`
Ожидаемый результат: "/home/support/0.2345.577", но у меня есть "/home/support/(u'0.2345.577',)"
Если я пытаюсь передать фильтр "yaml" или "json", например:
{{ release_info |regex_search('(\d+\.\d+\.\d+)') | yaml }}
У меня есть:
/home/support/[0.2345.577]
это не то, что я ищу.
PS
У меня это есть, но мне кажется, что нет подходов. Просто обходной путь.
{{ release_info |regex_search('(\d+\.\d+\.\d+)') |yaml |replace('[','') |replace(']','') }}