>_ IzzyLab

Практическое задание

jq: сумма по массиву

средне

/root/orders.json — массив объектов с полем amount. Посчитай сумму всех amount и запиши число в /root/total.txt.

Что потренируешь:
  • jq
  • агрегация
  • функция add
  • конвейер в jq
  • работа с массивами

Разбор темы

Агрегация в jq строится в два шага: сначала из массива объектов надо получить массив нужных значений (перебор .[] даёт поток, обёртка в [...] собирает его обратно в массив), а потом свернуть этот массив в одно число. Для суммирования есть встроенная функция add, которая складывает все элементы массива. Оба шага соединяются конвейером | — вывод одного фильтра становится входом следующего.

Что проверяется

  1. сумма amount = 40

Как это выглядит