Требуется найти среднее время ответа на вызов API из набора файлов журнала.Из файлов журнала я хотел бы отфильтровать журналы выбора шаблона:
Eligible programs received from program service for user '89e45876-6ae7-2d08-217c-7320aada1a3d' in 840 ms.
, а затем взять среднее время всех ответов.
Я придумал нижекод с использованием команд grep, sed и awk, который печатает среднее время ответа для каждого файла журнала.
for file in *; do
if [ -f "$file" ]; then
cat $file | grep ".*Eligible programs received from program service for user .*" | sed -E -n "s/.*Eligible programs received from program service for user .* in (.*) ms.*/\\1/p" | awk '{ SUM += $1; COUNT += 1;} END { print SUM/COUNT }'
fi
done
Но я хочу, чтобы для всех файлов журнала было вычислено одно среднее значение.Как я могу изменить вышеуказанную программу для достижения этой цели.