python - Ansible 过滤器 stdout_lines 剪切或拆分
问题描述
我有一个包含几行的变量,我想找到具有此值的行,并且在拆分后基于分隔符并仅取该特定行的第一个值。
Task:1
- debug:
var: blabla.stdout_lines
Output
blabla.stdout_lines:
- 1 test1 aaa
- 2 test0 bbb
- 3 test444 ccc
Task:2
- name: test
debug:
msg: "{{ blabla.stdout | select('search', 'test1') | list }}"
Output
msg:
- 1 test1 aaa
我想进行拆分,因此它只在task2中直接取值“1”。我试图做一个 textsplit 并切入它,但似乎它不起作用。我正在尝试在 Task2 中添加另一个 Jinja 过滤器。
解决方案
正如马修建议的那样,设法使用了 regex_search()
- name: Extract valuevariables
set_fact:
webapps_not: "{{ blabla.stdout | regex_search('.+?(?=no)') }}"
- name: Show value
debug: var=blabla_not
推荐阅读
- javascript - 地理位置更新频率取决于 Firefox 中的设备移动
- python - 根据特定列中的指定字符串删除数据框中的行
- contextmenu - 在 Office Word 加载项中,我们的上下文菜单可以基于条件吗?
- javascript - 我可以使用 javascript 文件在 nextjs 中生成内联 javascript 吗?
- react-native-android - 我的 React Native 应用程序在特定页面上消耗了太多内存
- hash - SHA256 哈希算法,关于最终消息块的填充问题
- python - 路径中的冒号如何在 Windows 上的 Python 中工作?
- spring - BeanPropertyRowMapper 无法获取带下划线的字段
- go - 如何将谷歌云 pubsub 有效负载转换为 Golang 中的 LogEntry 对象
- python - 绘制多个堆积条形图