main: name: Test illustrating string manipulation version: 0.1 stop_on_failure: False steps: - let: name: Set string value values: - rand_text: | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 005: ID 0bda:0487 Realtek Semiconductor Corp. Dell dock Bus 002 Device 006: ID 0bda:0413 Realtek Semiconductor Corp. Dell dock Bus 002 Device 007: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 003: ID 04f2:b684 Chicony Electronics Co., Ltd Chicony USB2.0 Camera Bus 003 Device 004: ID 8087:0029 Intel Corp. AX200 Bluetooth - text_searched: "0bda:8153" - let: name: Extract data eval: - text_extract: "[l for l in '''$(rand_text)'''.splitlines() if '$(text_searched)' in l][0]" - dialog_message: condition: len('$(text_extract)') > 0 name: dialog value test item question: Tataaaaa !