Продвинутая работа с grep и awk: сумма и группировка строк

Любите грепать логи? Я тоже.Но просто грепать иногда не достаточно. Наверняка многие из вас уже познали основы работы с AWK и уже умеют выводить только интересующие столбцы:

cat *.log | grep -v challenge | awk '{print $5, $3}'

А можно ли посчитать сумму по отфильтрованным полям? Можно!

cat *.log | grep -v challenge | awk '{SUM += $4; print $3} END { print SUM }'

А сгруппировать по какому-либо полю и вывести сумму? Можно!

cat *.log | awk '{ arr[$5]+=$4 } END { for (key in arr) printf("%s\t%s\n", key, arr[key]) }'

Наслаждайтесь грепаньем и гроканьем логов также, как наслаждаюсь им я!