Вывод результата команды в JSON

Для упрощения разбора результата выполнения команды при интеграции с внешними платформами и WEB предусмотрен вывод в формате JSON

Для этого в команде указывается дополнительный параметр

--outformat json

Для удобства работы с json рекомендуем установить утилиту jq:

yum install epel-release yum-config-manager --disable epel yum --enablerepo epel install jq

Примеры:

Форматированный вывод результата выполнения команды:

fdpi_ctrl list all profile --policing --outformat json|jq .

Посмотреть статистику использования разных профилей полисинга:

fdpi_ctrl list all --policing --outformat json|jq '.lpolicings[].description.name'|sort|uniq -c

или тоже самое в формате json средствами jq:

fdpi_ctrl list all --policing --outformat json|jq '[{ name: .lpolicings[].description.name, login: .login }] | group_by(.name) | .[] | { name: .[0].name, count: . | length}'

Для последующего применения можно превратить этот вызов в функцию bash:

function fdpi_policing_stat() { fdpi_ctrl list all --policing --outformat json|jq '[{ name: .lpolicings[].description.name, login: .login }] | group_by(.name) | .[] | { name: .[0].name, count: . | length}'; }

и потом просто вызывать эту функцию из командной строки

fdpi_policing_stat

Для постоянного использования функций можно сохранить их в файле .bash_profile