parsing - 有没有办法 grep 或解析 ansible 变量

标签 parsing grep ansible

我有一个变量,我需要解析它以提取版本字符串,有办法做到这一点吗?下面是 ansible 变量的示例。

--xxx 1.2.3-102 --yyy 2.5.10-47 --zzz 10.4.2-193

更新:添加 ansible 任务格式

---

- hosts: localhost
  tasks:
  - name: Get Version
    shell: echo '{{ version }}'
    register: results
  - set_fact:
      value: "{{ results.stdout | regex_search(regexp,'') }}"
    vars:
      regexp: ''
  - debug:
      var: value

最佳答案

仅获取“--yyy”后的版本号,根据任务需要更改正则表达式:

- hosts: localhost
  tasks:
  - name: Get Version
    shell: echo '--xxx 1.2.3-102 --yyy 2.5.10-47 --zzz 10.4.2-193'
    register: results
  - name: set regex
    set_fact:
      re: '--yyy\s+(?P<digit>\d+\.\d+\.\d+-\d+)'
  - set_fact:
      value: "{{ results.stdout | regex_search(re, '\\g<digit>') }}" 
  - debug:
      var: value[0]

关于parsing - 有没有办法 grep 或解析 ansible 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927743/

相关文章:

list - 将默认值插入 Ansible 中的字典列表中

loops - 如何在ansible循环中跳过空值

java - 在 Java 中,如何使用 SAX 解析器评估 XML 上的 XPATH 表达式?

linux - 将 grep 结果打印到文件和终端

linux - 从 bash 中的 Json 中提取值

powershell - PowerShell 1.0中的“grep”

ansible - 在ansible中检查文件的真实性

android - 无法解析 Azure 云存储中的连接字符串

html - 用于解析 HTML 的 libxml 快速包装器

json - 如何在 Swift 4 中解析包含字典和数组的 JSON?