【发布时间】:2019-09-28 03:54:53
【问题描述】:
要求是从一堆日志文件中找到 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
但我想要为所有日志文件计算一个平均值。我该如何修改上面的程序来实现它。
【问题讨论】: