awk脚本分析日志

#######################统计日志中测试人员执行用例个#############################
 
 
BEGIN{
printf "%-10s%-10s\n","Tester","TotalTestcases"
}
{
USERS[$4] += 1
}
END{
for(u in USERS)
printf "%-10s%-10d\n",u,USERS[u]
}
 
awk -f test.awk log.txt

 

 

 
#############################################################################
 
######################分别统计每位测试人员执行用例成功和失败的总数################

 

 

BEGIN{
printf "%-10s%-10s%-10s\n","Tester","PassTotal","FailTotal"
}
{
if ($5 == "Pass")
{
SUCCESS[$4] += 1
}else{
FAIL[$4] += 1
}
USERS[$4] += 1
}
END{
for(u in USERS)
printf "%-10s%-10s%-10s\n",u,SUCCESS[u],FAIL[u]
}
 
awk -f test.awk log.txt

 

 

 
#############################################################################
 
#####################分别统计每位测试人员执行用例CRITICAL、ERROR日志等级数以及所有测试人员每项总数################

 

 

BEGIN{
printf "%-10s\t%-10s\t%-10s\t%-10s\t%-10s\t\n","Tester","ErrorTotlal","CriticalTotal","PassTotal","FailTotal"
}
{
if ($5 == "Pass")
{
SUCCESS[$4] += 1
}else{
FAIL[$4] += 1
}
if ($3 == "ERROR")
{
ERROR[$4] += 1
}
if ($3 == "CRITICAL")
{
CRITICAL[$4] += 1
}
USERS[$4] += 1
}
END{
for(u in USERS)
{
ALL_ERRORS += ERROR[u]
ALL_CRITICALS += CRITICAL[u]
ALL_SUCCESS += SUCCESS[u]
ALL_FAILS += FAIL[u]
printf "%-10s\t%-10s\t%-10s\t%-10s\t%-10s\t\n",u,ERROR[u],CRITICAL[u],SUCCESS[u],FAIL[u]
}
printf "%-10s\t%-10s\t%-10s\t%-10s\t%-10s\t\n","Total",ALL_ERRORS,ALL_CRITICALS,ALL_SUCCESS,ALL_FAILS
}
 
awk -f test.awk log.txt

 

 

 
#############################################################################
posted @ 2020-04-17 14:54  &阿岩  Views(540)  Comments(0Edit  收藏  举报