list - Ansible - 读取文件,提取特定行,提取列并分配给变量
问题描述
我需要一些帮助来从文件中提取特定行,然后提取列,将其分配给变量,然后在下一个任务中使用该变量。
我在融合代理服务器上有这种格式的文件
Save the key. It cannot be retrieved later.
+------------+----------------------------------------------+
| Enc Key | omykeyvaluecontinuousstringgoeshereandmakelong= |
+------------+----------------------------------------------+
我正在尝试编写将读取第三行的 Ansible 任务,然后将密钥提取到一个变量中,我需要将该变量导出为任务中的环境变量。在下一个任务中,我将执行一个融合命令作为 shell 命令。
我尝试了类似下面的方法,但它不起作用 - 我收到错误
vars:
ansible_ssh_extra_args: "-o StrictHostKeyChecking=no"
ansible_host_key_checking: false
contents: "{{ lookup('file', '/etc/kafka/info.txt') }}"
contents2: "{{ lookup('file', '/etc/kafka/info.txt').splitlines() }}"
- name: set fact
set_fact:
extract_key: "{{ contents.split('\n')[2] }}"
- name: Display output
debug: msg="{{ extract_key }}"
然后从 extract_key 变量中提取键值
我怎样才能做到这一点?
谢谢
解决方案
下面的任务完成了这项工作
- set_fact:
extract_key: "{{ contents.split('\n').2.split('|').2|trim }}"
给
extract_key: omykeyvaluecontinuousstringgoeshereandmakelong=
推荐阅读
- c# - 如何在 botframework v4 中重新提示?
- php - 当我使用这个 php 时,结果显示所有表而不是 table1.id = table2.id 的特定条件
- python - 仅在 python 中的 pafy 和 vlc 音频
- kernel - 即使重新安装后,旧内核也会在 jupyter 中重新出现
- amazon-ec2 - 在亚马逊 ec2 实例中启动后更改 ip 的方法
- java - 如何正确加密合并的pdf文档
- angular - 如何在重新加载我的角度应用程序时更改鼠标光标?
- python - 在 AWS 中存储从 Pandas 导出的 Excel 文件
- bash - Sed 替换与退出仅给出文件的第一行
- regex - 泛化正则表达式 XML 验证