Find All (FA4)

MS Windows -|- Back to Projects -|- Zip File Listing -|- Home -|

in-file links: help downloads pcre end

Finding a block of text, in a set of file, recursively into folders, is a common tool, called grep in unix/linux ... this is just another, personal tool ... it is called fa4 - 'fa' = Find All, and 4, was the migration from 16-bits to a WIN32 version.

Update: May 31, 2008: I have now checked out the unix grep source, and compile it in WIN32. Check it out here ...

Here is the 'help' output of this version -

Informatique Rouge *** FAST FIND ALL UTILITY *** V4.0.60 - 2008 March 20
Purpose:  To locate specific text in a file or group of files.
Usage:    FA4 Arg1 Arg2 [-Switches]
Where:    Arg1 = "Find Text" or +"text" 1+ or @FindItems.
          Arg2 = [[D:\]Path\]File(s) or @FileList.
          The @Input files are interpreted as a set of line delimited items.
Switches: Each preceeded by '/' or '-' , space separated, case ignored.
 -8          = Ouput file name in DOS format.
 -B[-][n:n] = [-] Ignore binary, else force binary file find. [Back:Forward] (def=40:40)
 -c          = cASE tOGGLE - Be case SenSiTive.
 -D[NLO[DS]] = Directory List. (N=Normal, L=list output, O=order[D=date(def)|S=size])
 -Ennnnn     = Find WIN32 Error or closest.(Try ALL).
 -F="text"   = Find multiple items. (-F:1 = all in one file -F:2 = all in one line)
 -FR=regex   = Find using a pcre (Perl Compatible Regular Expression).
 -I:"text"   = Inhibit finds with this text. (-I+ for C/C++ comments)
 -L[W][nn|F] = Output Additional [Wnn=wrap at (def=90)][nn=lines|F=Complete function].
 -M[2]       = Process as a MAKE file. Same as -F:M. 2 expands $(mac).
 -N          = Line numbering on finds.
 -OOutFile   = Add all output to a file.
 -P          = Ignore Parity for compare. (8th bit stripped).
 -R          = Recursive into sub directories.
 -UInFile    = Use InFile as list of files to search.
 -Vn         = Verbosity level and type. (Def=V2).
 -W          = Only whole words (Includes like :WHOLE_. -W2 for spaces).
 -Xname      = Exclude file from search, or as @InFile or ';' separated list.
 -X:[name|:] = Exclude directory from search. ::=FrontPage, :::=CVS/.svn directories.
Notes:  Errorlevel gives the find count. -IC inhibit finds in C/C++ comments.
Output: V0=None, V1=Files, V2=Finds & Files(def), up to V9=ALL ON.
Note -V3 adds date and time after find file, and -V4 add a list at end.
"\ntext" to find text ONLY at the beginning of the line ...
Compiled using MSVC v.1400 on Mar 20 2008 at 12:41:40, run by Geoff McLane, on DELL01 machine.
                                                    Happy searching...

top


As stated, there are 'many' pieces of software to do this. A WIN32 port of the unix/linux tools can be found at http://unxutils.sourceforge.net/ ... And as mentioned above, I have now built my own WIN32 port of grep, which I called 'grepw32' ... but my FA4 is at least as fast, and has some 'different' features ;=))

The beauty of having your OWN is that anytime you want some very special feature, you can just load the source into MSVC, and begin modifying it ... If anyone adds there own neat feature I would certainly appreciate a copy of the modified source, so I too can benefit ;=))

One of the 'special' features I use most is the -x:: to inhibit the _vti_cnf, etc hidden folders created and used by FrontPage; one that is almost never used now is -8 to return the old DOS 8.3 file name, but it had a good purpose at the time, but less important now ...

The most recent addition was to add in the PCRE (http://www.pcre.org/) library, so I could use 'regular expressions' in the search, but this has not been exercised very much. Another highly specialised switch is -D to process a 'directory' file, and give the directory name, as well as the file name found ...

Below is the SOURCE and a WIN32 RUNTIME, in zip format, for download  ....

Source and Runtime Downloads for WIN32
Type Date Download MD5 digest Size
source 20/03/2008 fa4-25.zip a0eed6bafc7ccce22e0b4df16a8bb504 158,625
runtime 20/03/2008 fa4e25.zip a19e3872a58241742dbc12a31ee5084e 105,903
Older versions
source 10/10/2007 fa4-24.zip 05f9a8caae88c073b1dd5164efdc7c32 158,290
runtime 10/10/2007 fa4e24.zip 7c5509021ae999a11c7bb2f174aa5fc1 105,571
source 28/03/2007 fa4-22.zip b34b019da571461260538b8e0deb3802 155,163
runtime 28/03/2007 fa4e22.zip 9a2a0b11361f84d5df9600866b9b9e01 63,954
source 06/03/2005 fa4-15.zip f8da3d976a422d17624cae77165fe55c 135,626
runtime 06/03/2005 fa4e15.zip e8d7b9ae8bd3dd42fcbafc73284a3ad2 53,347

top


checked by Tidy Valid HTML 4.01 Transitional