#!/usr/bin/awk -f # lap : 1--overlap 0--non-overlap # comp: 1--access 0--origin # pos : 4 | 10 | 11 BEGIN { if(f00=="") { t00=1000; } else { t00=4 } # 状态码 if(f01=="") { t01=6; f01s=0; f01e=1000; } else { t01=6 } # 边缘响应时间 if(f02=="") { t02=9; f02s=0; f02e=1000; } else { t02=9 } # 边缘首包 if(f03=="") { t03=1000; } else { t03=10 } # 边缘错误码 if(f04=="") { t04=1000; } else { t04=11 } if(f05=="") { t05=1000; } else { t05=13 } if(f06=="") { t06=1000; } else { t06=15 } if(f07=="") { t07=1000; } else { t07=16 } if(f08=="") { t08=1000; } else { t08=18 } if(f09=="") { t09=1000; } else { t09=24 } if(f10=="") { t10=26; f10s=0; f10e=1000; } else { t10=26 } if(f11=="") { t11=1000; } else { t11=28 } if(f13=="") { t13=1000; } else { t13=33 } if(f14=="") { t14=1000; } else { t14=34 } if(f28=="") { t28=1000; f28s=0; f28e=1000; } else { t28=5 } if(f30=="") { t30=1000; } else { t30=7 } if(f31=="") { t31=1000; } else { t31=8 } if(f32=="") { t32=1000; } else { t32=10 } if(f33=="") { t33=1000; } else { t33=11 } if(f34=="") { t34=1000; } else { t34=46 } if(f37=="") { t37=1000; f37s=0; f37e=1000; } else { t37=4 } if(f38=="") { t38=1000; f38s=0; f38e=1000;} else { t38=6 } if(comp==1) { idn=56 } else if(comp==0) { idn=50 } number=0 } { if(comp==0) { tt28 = $t28 / 1000 tt37 = $t37 / 1000 tt38 = $t38 / 1000 } if(comp==1 && atype=="combo" && f00==$t00 && f01s<=$t01 && $t01<=f01e && f02s<=$t02 && $t02<=f02e && f03==$t03 && f04==$t04 && f05==$t05 && f06==$t06 && f07==$t07 && f08==$t08 && f09==$t09 && f10s<=$t10 && $t10<=f10e && f11==$t11 && f13==$t13 && f14==$t14 && acc==$idn) { number++ } else if(comp==1 && atype=="logs" && f00==$t00 && f01s<=$t01 && $t01<=f01e && f02s<=$t02 && $t02<=f02e && f03==$t03 && f04==$t04 && f05==$t05 && f06==$t06 && f07==$t07 && f08==$t08 && f09==$t09 && f10s<=$t10 && $t10<=f10e && f11==$t11 && f13==$t13 && f14==$t14 && acc==$idn) { print $0 } else if(comp==0 && atype=="combo" && f28s<=tt28 && tt28<=f28e && f30==$t30 && f31==$t31 && f32==$t32 && f33==$t33 && f34==$t34 && f37s<=tt37 && tt37<=f37e && f38s<=tt38 && tt38<=f38e && acc==$idn) { number++ } else if(comp==0 && atype=="logs" && f28s<=tt28 && tt28<=f28e && f30==$t30 && f31==$t31 && f32==$t32 && f33==$t33 && f34==$t34 && f37s<=tt37 && tt37<=f37e && f38s<=tt38 && tt38<=f38e && acc==$idn) { print $0 } } END { if(atype=="combo") printf "%-18s%-8s%-s\n", "符合上述条件的日志占比 -- ", number, number/NR*100"%" }