我有一个长变量字符串的日志,我试图从一个数字中得到最小值、最大值和平均值。
字符串示例
date time from Time: 100 ms to status code:
date time Time: 1050 ms status code IP
date time IP Time: 2 ms status code destination"Time:* ms“在每一行中都是不变的,但是字段位置正在发生变化。我需要最大的,最小的和平均的。
发布于 2021-04-08 14:17:41
对FPAT使用gawk (“一个正则表达式(作为字符串),它告诉gawk根据与正则表达式匹配的文本创建字段”):
awk -v FPAT='Time:[[:blank:][:digit:]]+ms' '
{ split($1, tmp); sum+=tmp[2] }
NR==1 { min=max=tmp[2] }
min>tmp[2]{ min=tmp[2] }
max<tmp[2]{ max=tmp[2] }
END{ print min, max, sum/NR }' infile产出;
2 1050 384https://unix.stackexchange.com/questions/644125
复制相似问题