Фильтровать / извлечь всю строку из моего стандартного вывода в ansible - PullRequest
0 голосов
/ 30 апреля 2020

Я запускаю свой сценарий оболочки из ansible playbook с помощью командного модуля. Моя книга воспроизведения выводит некоторые сообщения и сообщения об ошибках, такие как (ansible консольный вывод):

rc: 1
start: '2020-04-30 10:42:44.165313'
stderr: ''
stderr_lines: <omitted>
stdout: |-
User verified
Ping test okay
ERROR!!! Unable to connect to machine..Aborted...:Error741

Я записал вывод команды в регистр variable(output_1). Теперь я хочу извлечь строку сообщения «ОШИБКА» из вывода выше. Я использовал regex_search(output_1.stdout | regex_search('Error741')), но это дает мне точное слово (скажем, Error741), а не всю строку.

Мой ожидаемый результат: -

"ERROR!!! Unable to connect to machine.. exiting....:Error741"

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете изменить регулярное выражение следующим образом.

{{ output_1.stdout | regex_search('.*Error741') }}

С текстом stdout в вашем примере это регулярное выражение вернется ниже строки.

ERROR!!! Unable to connect to machine..Aborted...:Error741

Также проверьте более подробную информацию о регулярных выражениях здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...