Вывод фактов Ansible в одну строку

@steeldriver уже объяснил, почему ваша попытка не сработала (должна работать с GNU sed, хотя ).

Но почему бы не сделать это проще? Печать всех строк только с нецифровыми символами -аналогична удалению всех строк с числовыми символами :

.
sed '/[0-9]/d' direcciones.csv

Легче писать и легче читать, не так ли?

0
21.05.2021, 14:11
1 ответ

crashkernel не является самим фактом, это подраздел факта ansible_proc_cmdline, поэтому используйте

---
- hosts: all
  become: yes
  tasks:
  - name: Get content of remote server
    shell: echo system {{ inventory_hostname }} {{ ansible_proc_cmdline['crashkernel'] }} {{ ansible_os_family }}

Обратите внимание, что вы можете использовать модуль ansible debug для печати сообщений вместо прохождения через echoна удаленной стороне:

---
- hosts: all
  become: yes
  tasks:
  - name: Get content of remote server
    debug: 
      msg: "system {{ inventory_hostname }} {{ ansible_proc_cmdline['crashkernel'] }} {{ ansible_os_family }}"

Также обратите внимание, что вы можете использовать модуль сбора _фактов для сбора фактов о хосте в файл, содержащий данные JSON:

ansible localhost -m gather_facts --tree /tmp/facts

, а затем используйте выбранный вами язык программирования или такой инструмент, как jq , чтобы извлечь нужную информацию:

jq '.ansible_facts.ansible_proc_cmdline.crashkernel' /tmp/facts/localhost

1
28.07.2021, 11:30

Теги

Похожие вопросы