>_ IzzyLab

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

awk: пивот по паре ключей

сложно

В /root/sales.txt три поля: регион, товар, сумма. Просуммируй сумму по паре (регион, товар) и выведи в /root/pivot.txt строки регион товар сумма. Порядок строк неважен.

Что потренируешь:
  • awk
  • составной ключ
  • агрегация
  • ассоциативные массивы
  • блок END

Разбор темы

Пивот-агрегация — это суммирование по группам, где группа задаётся не одним, а несколькими полями. В awk массив индексируется строкой, поэтому составной ключ собирают, склеивая нужные поля через разделитель, и накапливают сумму в соответствующей ячейке. В блоке END массив обходят циклом for (k in s); порядок обхода не определён, и при необходимости стабильности вывод пропускают через внешний sort.

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

  1. суммы по паре (регион, товар) верны

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