Ищим log-файлы указанном каталоге cat 2019 10 01 log Удаляем BOM симво

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Ищим 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