У меня есть файл с таблицей чисел; первая строка является строкой заголовка. Я хочу суммировать каждый столбец и распечатать сумму и имя столбца для каждого столбца, используя awk.
Как мне это сделать?
Предполагая, что каждая строка имеет одинаковое количество полей (столбцов):
awk '
NR==1 { for (i=1; i<=NF; i++) header[i]=$i; next; }
{ for (i=1; i<=NF; i++) total[i] += $i; }
END { for (i=1; i<=NF; i++) print header[i] "=" total[i]+0 }
'
Пример ввода:
red green blue
1 2 4
8 16 32
64 128 256
Соответствующий выход:
red=73
green=146
blue=292