Shell 如何在ansible中过滤/修剪特定变量值
我需要提取/过滤ansible中字符串的特定长度。例如:- 我的节点计算机有以下主机名:-jpujenkins,jpunessus 事实上,我们会有一个变量 {{ansible_hostname}-->jpujenkins {{ansible_hostname}}-->jpunessus 但我需要从所有节点主机名中删除前三个字母,即“jpu” 期望输出:-jenkins,nessusShell 如何在ansible中过滤/修剪特定变量值,shell,ansible,ansible-facts,Shell,Ansible,Ansible Facts,我需要提取/过滤ansible中字符串的特定长度。例如:- 我的节点计算机有以下主机名:-jpujenkins,jpunessus 事实上,我们会有一个变量 {{ansible_hostname}-->jpujenkins {{ansible_hostname}}-->jpunessus 但我需要从所有节点主机名中删除前三个字母,即“jpu” 期望输出:-jenkins,nessus 也可以大写字母say JENKINS,NESSUS?您可以使用regex\u replaceAnsible过滤器
也可以大写字母say JENKINS,NESSUS?您可以使用
regex\u replace
Ansible过滤器来满足您的需要。
例如,我的主机名是ip-192-168-1-65
---
- hosts: all
tasks:
- debug: msg="{{ ansible_hostname | regex_replace('^ip-', '') }}"
当我执行playbook时,它返回主机名,“^ip-”
部分被替换为空字符串”
@不客气!如果有帮助,请接受我的回答。
TASK [debug] *********************************************************************************************************************************************************************
Tuesday 28 April 2020 11:18:24 +0300 (0:00:07.281) 0:00:07.498 *********
ok: [localhost] =>
msg: 192-168-1-65