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!