# Ищим 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 # Выводим контекст } }' | # Сортируем по убыванию времени выполнения sort -rn > group_calls.res