Я пытаюсь извлечь конкретное число из моего stdout_lines в Ansible и использовать его в качестве переменной. Я запускаю команду show в моей книге воспроизведения, и все, что я хочу получить из вывода, это самый высокий порядковый номер из моей криптографической карты. Например, это моя пьеса:
-
asa_command:
commands:
- show run crypto map
provider: "{{ base_provider }}"
register: result
-
debug: var=result.stdout_lines
Это приводит к хорошему выводу, но я не уверен, как поступить с извлечением порядкового номера из следующего (я опустил большую часть криптокарты только для упрощения объяснения).
"crypto map map1 60 set ikev1 transform-set test",
"crypto map map1 60 set security-association lifetime seconds 3600",
"crypto map map1 61 set peer 1.1.1.1 ",
"crypto map map1 61 set ikev1 transform-set test1",
"crypto map map1 61 set security-association lifetime seconds 3600",
"crypto map map1 interface outside"
Так что, в принципе, я хотел бы извлечь наибольший порядковый номер (в данном случае «61»), чтобы я мог ввести его как переменную в той же книге. Любые мысли будут оценены :-)
Я пытался посмотреть на некоторые фильтры jinja2, но я не мог понять, что будет наиболее подходящим для моего использования.
http://ansible -docs.readthedocs.io / ж / стабильный-2,0 / первый / playbooks_filters.html
Я также попробовал предложения на этой странице, но я тоже не стал этим заниматься.
Разбор текстовой строки из стандартного вывода