Я столкнулся с проблемой присоединения к списку в ansible. Пожалуйста, посмотрите на следующий отрывок из книги:
- name: determine how much time we have left
set_fact:
time_left1: "{{ cmd_output.stdout | regex_search(time_left_regex1, '\\1', '\\2') }}"
time_left2: "{{ cmd_output.stdout | regex_findall(time_left_regex2, '\\1') }}"
vars:
time_left_regex1: 'Remaining Time: ([0-9]+ Minutes) and ([0-9]+ Seconds)'
time_left_regex2: 'Remaining Time: (?:([0-9]+ Minutes) and )?([0-9]+ Seconds)'
- debug:
msg: "{{ time_left1 }}"
- debug:
msg: "{{ time_left1 | join(' ') }}"
- debug:
msg: "{{ time_left2 }}"
- debug:
msg: "{{ time_left2 | join(' ') }}"
Когда я запускаю эту книгу, я получаю:
ok: [localhost] => {"msg": ["11 минут "," 48 секунд "]}
ok: [localhost] => {" msg ":" 11 минут 48 секунд "}
ok: [localhost] => {" msg " : [["11 минут", "48 секунд"]]}
ok: [localhost] => {"msg": ["11 минут", "48 секунд"]}
Мне кажется, что regex_search вернул мне список, который я могу присоединить к простой строке, и что regex_findall создает вложенный список. Это правильно? И если да, то как преобразовать вывод в строку, аналогичную работе regex_search ?
PS: для получения дополнительной информации о содержимом cmd_output , пожалуйста, посмотрите на мой предыдущий вопрос