我有一个包含以下数据的文件
!
分别乘以4和5
分别乘以5和6
!
将3加到4
将8加到4
!
6分3分
5分9分
!
!
div 6除以2
div 8乘1
我只想读取文件中的添加命令。
使用查找插件,我能够读取整个文件的数据。
但是我不知道如何只读取文件中的特定添加命令
这是我编写的代码。
---
- name: Extracting the Add commands from the File
hosts: 127.0.0.1
connection: local
vars:
contents: "{{lookup('file', 'file1.txt')}}"
tasks:
- name: Printing the Add commands of the File
debug:
var: contents
这时我陷入了困境。任何人都可以帮助我解决如何以ansible读取文件的特定部分的情况。
答案 0 :(得分:1)
使用with_lines。下面的游戏
- hosts: localhost
vars:
my_data_file: "{{ playbook_dir }}/data.txt"
my_commands: []
tasks:
- set_fact:
my_commands: "{{ my_commands + [ item ] }}"
with_lines: "cat {{ my_data_file }}"
when: item is search('^add')
- debug:
var: my_commands
给予
"my_commands": [
"add 3 to 4",
"add 8 to 4"
]