awk 分类取最大值
FILE内容如下:
===============
10.13.7.15 55
10.13.7.15 56
10.13.7.15 57
10.13.7.15 58
10.13.7.16 55
10.13.7.16 56
10.13.7.16 57
10.13.7.16 58
10.13.13.10 55
10.13.13.10 56
10.13.13.10 57
10.13.13.10 58
10.13.13.12 55
10.13.13.12 56
10.13.13.12 57
10.13.13.12 58
==============
awk 程序如下:
awk 'BEGIN {
printf "%s,%5s,%4s\n","IP","AVG","MAX"
}
{
A[$1]++;SNF[$1]+=$NF;
MAXNF[$1]=($NF>MAXNF[$1]?$NF:MAXNF[$1])
}END{
for (IP in A) print IP,SNF[IP]/A[IP],MAXNF[IP]
}' FILE
==============
输出结果:
IP, AVG, MAX
10.13.7.15 56.5 58
10.13.7.16 56.5 58
10.13.13.10 56.5 58
10.13.13.12 56.5 58
==============
取最小值,最大值
==============
XXX内容如下:
457 10.15.171.110
458 10.15.171.110
459 10.15.171.110
460 10.15.171.110
461 10.15.171.110
462 10.15.171.110
463 10.15.171.110
464 10.15.171.110
465 10.15.171.51
466 10.15.171.51
467 10.15.171.51
468 10.15.171.51
469 10.15.171.51
470 10.15.171.51
417 10.15.171.51
472 10.15.171.51
473 10.15.171.112
474 10.15.171.112
475 10.15.171.112
476 10.15.171.112
477 10.15.171.112
478 10.15.171.112
479 10.15.171.112
480 10.15.171.112
481 10.15.171.114
482 10.15.171.114
483 10.15.171.114
484 10.15.171.114
485 10.15.171.114
486 10.15.171.114
487 10.15.171.114
488 10.15.171.114
489 10.15.171.179
490 10.15.171.179
491 10.15.171.179
492 10.15.171.179
493 10.15.171.179
494 10.15.171.179
495 10.15.171.179
496 10.15.171.179
==============
awk 程序如下:
cat XXX |awk 'BEGIN{printf "%-18s%5s%5s\n","IP","Begin","End";
}
{
if (MIN[$2]=="")
{
MIN[$2]=$1;
MAX[$2]=$1;
}
A[$2]++;
MAX[$2]=($1>MAX[$2]?$1:MAX[$2]);
MIN[$2]=($1}END{for (IP in A) printf "%-18s%-5s%5s\n",IP,MIN[IP],MAX[IP]}' |sort -k2n
==============
输出结果:
IP Begin End
10.15.171.51 417 472
10.15.171.110 457 464
10.15.171.112 473 480
10.15.171.114 481 488
10.15.171.179 489 496
阅读(5372) | 评论(0) | 转发(0) |