Logparser quick and dirty
Sometimes you must find information in text files. Many,many text files, like IIS logs or other custom non-regular formats.
An entry looks like that :
And there are multiple log files that I want to parse and find the email adresses to collect feedback from those persons that use my bot.
LogParser to the rescue! Download from http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en and use this command line
LOGPARSER “Select Text into a.csv from current* where Text like ‘%@%'” -i:TEXTLINE
Explanation of command :
Select Text into a.csv from current* where Text like ‘%@%’ –means find in files that begin with current(current*) all text that contains emails ( ‘%@%’) and put in file a.csv the results.
-i:TEXTLINE – means the format is text
What can be more simple ?
(Ok, for finding the user name I had to resort to excel, to remove duplicates … )
More I think it is fast enough : for parsing 114 files with 58.8 MB (PC with a 2GB RAM + 7200 RPM ) the results are :
Elements processed: 487176
Elements output: 1044
Execution time: 7.69 seconds
Also logparser can be used for more than text files :
More, it can be as a COM DLL in every .NET project, making it a usefull tool . See
Next time I will show the using Powershell in combination with LogParser.