您可以使用Ansible的正则表达式模块regex_search
来从命令输出中提取整数,并将其传递给其他命令进行处理。下面是一个示例解决方案:
---
- hosts: localhost
gather_facts: false
tasks:
- name: Run command and extract integer
command: echo "This is a sample command output: 12345"
register: command_output
- name: Extract integer using regex
set_fact:
extracted_integer: "{{ command_output.stdout | regex_search('\\d+') }}"
- name: Print extracted integer
debug:
var: extracted_integer
- name: Run another command with extracted integer
command: echo "The extracted integer is {{ extracted_integer }}"
在这个示例中,command
模块运行一个命令并将输出保存在command_output
变量中。然后,使用set_fact
模块和regex_search
过滤器从命令输出中提取整数,并将其保存在extracted_integer
变量中。最后,使用debug
模块打印提取的整数,并使用command
模块运行另一个命令,将提取的整数作为参数传递。
请注意,上述示例中的正则表达式'\\d+'
用于匹配一个或多个数字。根据您的需求,您可能需要调整正则表达式来匹配特定格式的整数。