# Ищим log-файлы в указанном каталоге
cat 2019.10.01/*.log |
# Удаляем BOM символы
perl -pe 's/\xef\xbb\xbf//g' |
# Удаляем все, кроме времени выполнения и контекста
perl -pe 's/^.*?-(\d+).*Context=(.*?),.*$/$1 - $2/' |
# Группируем по контексту, суммируем по времени и выводим в форматированном виде. Время переводим в секунды
gawk -F- '{sum[$2]+=$1; count[$2]+=1;} END {for(i in sum) {printf "%10.3f %10.3f %10d %s\n", sum[i] / 1000000, sum[i] / count[i] / 1000000, count[i], i}}' |
#gawk -F- '{sum[$2]+=$1; count[$2]+=1;} END {for(i in sum) {printf "%10.3f %10d %s\n", sum[i] / 1000000, count[i], i}}' |
# Сортируем по убыванию времени выполнения
sort -rn > group_calls.res