Исправление Linux с помощью Ansible

Просто так

$ paste -sd+ file | dc -e2k0 -f- -e+3/p
.71

Здесь мы используемdcобратный польский калькулятор :для суммирования чисел, которые хотим записать в виде

1.0 0.46 + 0.67 +

однако проще заполнить стек нулем(-e0)и сделать его

0 1.0+0.46+0.67 +

поскольку тело суммы может быть получено простымpaste command:

$ paste -sd+ file
1.0+0.46+0.67

Наконец, нам нужен конечный постфикс +для суммы и постфикс деления, который мы можем написать в другой -eкоманде (, не забывая печатать окончательный результат )как -e+3/p.

Последняя проблема заключается в том, что хотя dcможет работать с произвольной точностью, деление по умолчанию имеет точность 0 и, следовательно, возвращает целочисленный результат. Мы можем изменить это с помощью команды 2k, которая помещает 2в стек, а затем извлекает его и использует результат для установки точности.

Собираем все воедино:

paste -sd+ file | dc -e2k0 -f- -e+3/p

-1
18.04.2021, 14:36
1 ответ

Если вы работаете с выпуском Ansible, который поддерживает коллекции, в файле ansible.builtin.yum есть опция безопасности-https://docs.ansible.com/ansible/latest/collections/ansible/builtin/yum_module.html

Если это невозможно, я думаю, вам придется использовать оболочку или командные модули для выполнения команды yum так же, как если бы вы делали это в командной строке.

0
28.04.2021, 22:52

Теги

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