我的输出如下所示:
{tid=4, total=3, column.id=[5.0]}
{tid=2, total=1, column.id=[5.0]}
{tid=5, total=8, column.id=[5.0]}
{tid=8, total=6, column.id=[5.0]}
elapsed time: 10 milliseconds
current time: Thu Sep 15 16:15:30
这组输出以不同的经过时间重复多次。我想提取所有出现的代表经过时间的整数,然后找到平均经过时间。我相信我可以使用 awk 获取经过的时间,但我不确定这里的语法是否正确。
答案1
假设它总是以毫秒为单位,这应该可以工作。
awk '/^elapsed time:/ {T+=$3;C++}; END {print T/C}' test.txt
/^elapsed time:/
找到与所需模式匹配的行
{T+=$3;C++};
将第三列添加到T
up 中并计算我们执行了多少次C
END {print T/C}
打印出我们的平均值。