У меня есть переменная, которая представляет собой список , как показано ниже:
"test_list": [
"some text here",
"server1",
"command1 parameter1",
"path/to/command2 parameter2 server1_202012",
"some more text",
"New backup file is server1_202019"
]
Я пытаюсь извлечь подстроку server1_202019
, которая находится в конце строки, которая начинается с New backup file...
. Есть только одна такая строка, и я попробовал вариант ниже, чтобы получить подстроку.
- set_fact:
test_name: "{{ test_list | select('^New backup file is (.+)$','\\1') }}"
, и результат, который я получил:
"test_name": "<generator object _select_or_reject at 0x3fe5b40>"
Я пробовал ниже код также, но не удалось.
- set_fact:
test_name: "{{ test_list | regex_search('^New backup file is (.+)$','\\1') }}"
Ошибка:
"msg": "Unexpected templating type error occurred on ({{ test_list | regex_search('^New backup file is (.+)$','\\\\1') }}): ..... expected string or buffer"
Может ли кто-нибудь предложить, как я могу получить результат, как показано ниже:
"test_name": "server1_202019"
Версия ansible, которую я использую, - 2.9
Спасибо