This is a foreign university QA work problem, read every line of information in the Mainlog file, and get valid information, that is, each message in the fourth after the content, and then classify and count, the request is written in Perl, but I was done with PowerShell, the file is as follows:
The code is as follows:
1<#2$logPath ="C:\Users\tylan\Desktop\mainlog.txt"3#>4 function Checkinfo5 {6 param ($logPath)7$logContent = get-Content $logPath8$reg ="^[email protected][email protected][email protected][email protected]+$"9$categories ="",""Ten foreach($loginch$logContent) One { A if($log-match $reg) - { -$partialLog = $log. Split ("@") the$category = $partialLog [4] -$categories + =$category - } - } +$sortResult = $categories | Sort-object| get-Unique - foreach($cateinch$sortResult) + { A$cate | Add-member-membertype Noteproperty-name"Catecount"-value0 at } - foreach($categoryinch$categories) - { - foreach($cateinch$sortResult) - { - if($category-eq $cate) in { -$cate. Catecount + + to } + } - } the foreach($cateinch$sortResult) * { $ if($cate-ne"")Panax Notoginseng { -$cate +" : "+$cate. Catecount the } + } A } the$logPath ="C:\Users\tylan\Desktop\mainlog.txt" +Checkinfo $logPath
The test results are as follows:
PowerShell for file reading, sorting, sorting count.