Click here to Skip to main content
12,887,768 members (39,036 online)
Click here to Skip to main content
Add your own
alternative version


46 bookmarked
Posted 12 Oct 2000

Agent Ransack - File searching utility that supports Regular expressions

, 12 Oct 2000
Rate this:
Please Sign up or sign in to vote.
File, searching, regular, expression, GREP, tool, utility
<!-- Download Links -->
  • Download source files - 978 Kb
  • Introduction

    How many times do you find yourself plowing through files looking for that illusive line of code whether it is a method declaration, function call, or algorithm etc.? If you're anything like me it's all the time and you may therefore find this FREE utility, Agent Ransack, very useful. 

    Agent Ransack searches through files, text or otherwise, fast and efficiently. When searching the contents of files for code, or other text, Agent Ransack displays the text found so you can quickly browse the results without having to separately open each file!

    Basic Example

    Shown below is an example of searching for the Format method of CString in the MFC source directory. 

    The example shows a few important features:

    Regular expressions: The filename field uses a regular expression to search through all files with a .cpp or .h extension. Regular expressions can be used in both the file name and the contents field. If you would rather use DOS style expressions then there is an 'Auto convert to DOS' option. If you are not familiar with regular expressions but would still like to use them there is an Expression Wizard to help you build the expression.

    Immediate browseable results: As soon as a file is found it is available for browsing, even if the search has not yet finished. The browser allows you to view the lines that were found without having to open the file separately.

    A more complicated example

    Have you ever written if (nValue = NULL) when you meant to write

     if (nValue
    == NULL)
    ? Hmm, only me huh? The following example shows how to look through your code for any line that has an if with only a single = within the parentheses.


    You can then quickly run through the results checking each occurrence.


    While this was a bit of a whirlwind tour of Agent Ransack I hope it inspires you to give it a try and check out the help file for a more detailed description of it's features. Other features include: Print/Print preview, Search saving, File context menu, Basic interface option, match case, regular expression tester, and many more. I hope Agent Ransack saves you many hours of frustrated searching!

    For further information please visit our website at


    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    About the Author

    David Vest
    Founder Mythicsoft Ltd
    United Kingdom United Kingdom
    Dave has been writing software since the age of nine when he received his first computer, the Sinclair ZX81 with a rather limiting 1K of RAM. Since then (many computers, with significantly more RAM, later) Dave has spent a lot of time working with 6502 assembly, C, C++, STL/MFC/ATL, COM, C#, ASP.NET, PowerBuilder, MS SQL Server and Sybase databases.

    After working for various organizations in the UK, USA, Bosnia and Switzerland Dave founded Mythicsoft Ltd which sells high performance file searching solutions.

    You may also be interested in...

    Comments and Discussions

    QuestionCrash in Windows 8.1 Pin
    Sivaji156525-Feb-14 17:51
    memberSivaji156525-Feb-14 17:51 
    AnswerRe: Crash in Windows 8.1 Pin
    David Vest11-Aug-14 1:40
    memberDavid Vest11-Aug-14 1:40 
    GeneralMy vote of 5 Pin
    Sivaji156525-Feb-14 17:45
    memberSivaji156525-Feb-14 17:45 
    Generalthank you Pin
    JoeMan21-Mar-10 23:09
    memberJoeMan21-Mar-10 23:09 
    GeneralPossibly small but great enhancements Pin
    ccoder00728-Jun-09 11:28
    memberccoder00728-Jun-09 11:28 
    QuestionAccessing by code Pin
    S Sansanwal23-May-07 11:57
    memberS Sansanwal23-May-07 11:57 
    Generalget the line containing particular text Pin
    chintan_4948-Apr-04 21:39
    susschintan_4948-Apr-04 21:39 
    Generalget the line containing particular text Pin
    chintan_4948-Apr-04 21:39
    memberchintan_4948-Apr-04 21:39 
    GeneralTo = or not == Pin
    Dave Cross8-Nov-03 23:17
    memberDave Cross8-Nov-03 23:17 
    GeneralThanks you! Pin
    John R. Shaw7-Jul-03 14:48
    memberJohn R. Shaw7-Jul-03 14:48 
    GeneralText display errors Pin
    Rick York16-Dec-02 7:18
    memberRick York16-Dec-02 7:18 
    GeneralFile identification Pin
    Raks11-Dec-02 10:04
    sussRaks11-Dec-02 10:04 
    GeneralLogical AND Pin
    Mads M.P.2-Aug-02 2:16
    memberMads M.P.2-Aug-02 2:16 
    GeneralRe: Logical AND Pin
    David Vest2-Aug-02 3:00
    memberDavid Vest2-Aug-02 3:00 
    GeneralRe: Logical AND Pin
    Mads M.P.2-Aug-02 14:39
    memberMads M.P.2-Aug-02 14:39 
    GeneralNice one Pin
    Jobie28-Feb-02 4:35
    memberJobie28-Feb-02 4:35 
    GeneralFirst test failed Pin
    Anonymous3-Nov-00 4:43
    sussAnonymous3-Nov-00 4:43 
    GeneralRe: First test failed Pin
    David Vest3-Nov-00 5:58
    sussDavid Vest3-Nov-00 5:58 
    The '^' at the beginning of the regular expression represents the start of the line. So your expression would match any line that BEGINS with 'BATCH' followed by zero or more characters followed by 'MAX'. If you were just interested in looking for BATCH.*MAX anywhere on the line do not start the expression with '^'.

    I can only guess that the reason you have the '^' is that the expression wizard is slightly confusing. The label says 'Begins with:' where what it really means is 'Line begins with:' and NOT 'Expression begins with'. Therefore if you do not want to specify exactly how the line starts leave the 'Begins with:' fields blank and move straight onto 'Followed by:'. I will work on the wording in a future version.

    I hope this helps, if it doesn't please let me know.
    Dave Vest.
    GeneralWonderful! Pin
    Abu Wawda1-Nov-00 20:01
    sussAbu Wawda1-Nov-00 20:01 
    GeneralNEW VERSION 1.5.0 Pin
    Dave Vest30-Oct-00 11:35
    sussDave Vest30-Oct-00 11:35 
    GeneralReplace were great Pin
    Christian Rodemeyer16-Oct-00 20:40
    sussChristian Rodemeyer16-Oct-00 20:40 
    GeneralRe: Replace were great Pin
    Philippe Lhoste16-Oct-00 23:33
    sussPhilippe Lhoste16-Oct-00 23:33 
    GeneralRe: Replace were great Pin
    Developer17-Oct-00 3:23
    sussDeveloper17-Oct-00 3:23 
    GeneralRe: Replace were great Pin
    Dave Vest17-Oct-00 2:40
    sussDave Vest17-Oct-00 2:40 
    QuestionWhat RegExp Library are you using? Pin
    Uwe Keim13-Oct-00 22:13
    sussUwe Keim13-Oct-00 22:13 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    Permalink | Advertise | Privacy | Terms of Use | Mobile
    Web02 | 2.8.170424.1 | Last Updated 13 Oct 2000
    Article Copyright 2000 by David Vest
    Everything else Copyright © CodeProject, 1999-2017
    Layout: fixed | fluid