I'm currently struggling with some massive text files that contain error logging from MSMQ. Unfortunately a lot of the content is noise - entries that are of no use in the troubleshooting process but can't be switched off beforehand.
I've just worked out that the command line utility FIND has what I need.
For example, I know (for the problem I'm looking at) that I can ignore any log entry containing the error code "0xC00E001B" (timeout). The following will take the original log file and create a nice, new one for me that contains none of the unwanted lines:
FIND /V "0xC00E001B" MSMQ.LOG > NEWMSMQ.LOG
In one case, the original file dropped from 1GB to just 3MB and there are a few other lines I can flush out too without touching all the good data. Productivity has gone through the roof!