如何解决太好了尝试从字符串中获取IP地址的第三个八位字节以用作变量
试图通过获取输出并将其放入变量然后拆分来获取IP地址的第三个八位字节。不确定是否有更好的方法可以做到,但是这就是我尝试过的方法以及没有起作用的方法。
---
- name: Gather Information'
ios_command:
commands:
- show run int g0/1.220 | in ip add
register: output
- msg:
var="{{ output.stdout.split(" ")[3] }}""
the output looks like "IP address 10.10.80.1 255.255.255.224".
我正在尝试将其除以获取IP,然后再次对其进行除以获取第三个八位位组。 “ 80”用作其他位置的变量。
jmyths
解决方法
怎么了
{{output.stdout.split(" ")[2].split(".")[2]}}
反正你几乎在那里。
-编辑-糟糕。语言错误。
{{ output.stdout | regex_replace("^[^0-9]+[0-9]+\.[0-9]+\.([0-9]+)\.[0-9]+ .*$","\\1") }}
这应该将regex_replace过滤器应用于output.stdout,使用匹配字符串“开始,然后不是数字,后跟nums.nums。(match 1).nums any”,然后将其替换为匹配组1。
https://www.tailored.cloud/devops/how-to-filter-and-map-lists-in-ansible/
对不起。我弄错了您使用的脚本语言,并在看到标签时快速进行了重复操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。