Извлечение текста на основе поиска из многострочной строки в Ansible - PullRequest
0 голосов
/ 28 апреля 2020

Печать переменных в моей пьесе

- debug:
    msg: "{{ patch905 }}"

- debug:
    msg: "SEARCH_STRING:{{ packagename }}"

Вывод:

TASK [debug] ***********************************************************************************************************************************************************
ok: [10.0.0.126] => {
    "msg": "com.ibm.websphere.BASE.v90_9.0.5003.20200226_0941\ncom.ibm.websphere.ILAN.v90_9.0.5003.20200226_0941\ncom.ibm.websphere.ND.v90_9.0.5003.20200226_0941\ncom.ibm.websphere.NDDMZ.v90_9.0.5003.20200226_0941"

}

TASK [debug] ***********************************************************************************************************************************************************
ok: [10.0.0.126] => {
    "msg": "SEARCH_STRING:.BASE."
}

Мне нужно извлечь эту строку: com.ibm.websphere.BASE.v90_9.0.5003.20200226_0941

из-за строки поиска '.БАЗА.' находится в этой строке и, таким образом, сохраняет com.ibm.websphere.BASE.v90_9.0.5003.20200226_0941 в переменной finalparam.

Аналогично, когда {{ packagename }} равно '.ND.' мне нужно, чтобы finalparam было com.ibm.websphere.ND.v90_9.0.5003.20200226_0941

Я пытался использовать regex_search

- set_fact:
    finalparam: "{{ patch905 | regex_search(packagename) }}"

- debug:
    msg: "String found is: {{ finalparam }}"

Но, к сожалению, finalparam не печатает желаемые результаты. Ничего не печатает пустую строку.

Можете ли вы предложить?

...