Thompson Custom Software proudly presents:
TCS Grep Sharp™
An advanced "grep" program that will search user specified files in user specified
drives/folders for user specified text or regular expression.
Separating TCS Grep Sharp from similar or operating system provided grep functionality,
TCS Grep Sharp is capable of searching binary or encoded files in addition to files
where text is stored in a human readable form. For example, TCS Grep Sharp can
search Word (.docx) and Excel (.xlsx) files as well as Portable Document Format (.pdf)
files. Further, TCS Grep Sharp can unzip and search "ZIP" (.zip) files. TCS Grep Sharp
can easily search thousands of word documents zipped in a large .zip file!
Search Limitations
Some folders on your drives may be protected by the operating system and/or require
administrative privileges. Although the rationale for such is elusive to many, even when executed
by the workstation owner with administrative privileges, TCS Grep Sharp cannot access
these protected files and folders. Attempts to do so cause what is known as an I/O
(Input/Output) error. These errors are caught by TCS Grep Sharp and searching the protected
file and/or folder is necessarily skipped. At the end of a search run, the user is informed
of the number of these I/O errors that were encountered and the exact object (usually a
folder) name is logged along with the exact I/O error encountered. The protected folders
and possible files can then be identified by the user by reviewing the end of the log
and steps taken to "unprotect" them can be taken if thought necessary.
Importantly though, these folders almost always contain system files and are extremely
unlikely to contain user-generated documents or data.
Application User Support
Every CPU cycle on your system is precious as is your time. TCS Grep Sharp endeavors
to utilize every CPU cycle in a manner to reduce the search time. To facilitate that,
TCS Grep Sharp allows any search to be optimized using various selection criteria along
with providing the ability to turn off potentially "expensive" features.
For example, the ability to read Word and Excel files can be toggled on and off
for any given search. If you know your text is not stored in a Word or Excel file, then
there is no need to waste CPU cycles processing these file types for search. This
capability as well as the ability to toggle processing PDF (.pdf) files for search
and unzip ZIP (.zip) files can also be toggled on or off.
TCS Grep Sharp is fast and will return the results of your search in short order. To
optimize search speed, TCS Grep Sharp allows the user to specify "file masks" - the
file extension of files to be searched. For example, if you are looking for text known
to be in a PDF (.pdf) file, "*.pdf" can be specified by the user as the file mask to
search. In that manner, only .pdf files are searched not wasting time and energy searching
files not known to contain the text or regular expression result desired. Multiple file
masks can be provided by the user. For example, the user could specify "*.txt" and
"*.asc" as the file types to search.
The ability to specify files to be searched based on their extension has been expanded
so that in addition to specifying an "include" file mask or masks limiting the search to
only files with the specified extension, an exclude mask or masks can be provided. The
exclude mask(s) are typically utilized by specifying "*.*" (all files) for the "include"
file mask and then providing one or more "exclude" file mask(s). For
example, "*.*" could be specified for the include mask and "*.iso", "*.bak", and "*.xlsx"
specified for the exclude file masks. TCS Grep Sharp will then search all files for the
text or regular expression except those with .iso, .bak, or .xlsx file extensions.
Finally, the user specifies the drive(s) and folder(s) to search. An entire drive or
drives can be specified if desired and network drives can also be included although
search speed is dependent on the bandwidth of the network connection. Network
drives typically take longer to search than their "local" counterparts. If desired,
matches can be displayed as soon as found while searching continues. Alternatively
all matches can be displayed when the search has completed. For example, searching for a
code snippet, "c:\users\developerst" and "c:\sourcecode\solutions" might be specified
with "search child folders" checked and an include file mask "*.cs". As illustrated
in the diagram below, such a search would search for the specified text or regular expression in files with a .cs extension
in the c:\users\developerst, c:\users\developerst\projectab, c:\users\developerst\projectbc,
c:\sourcecode\solutions, c:\sourcecode\solutiona, c:\sourcecode\solutiona\project1,
c:\sourcecode\solutiona\project2, and c:\sourcecode\solutiona\project3 folders.
Whether or not to search "child folders" as described above is user specified. If checked
(selected) as in the example, the "search child folders" option tells TCS Grep Sharp to
search the specified folder(s) as well as search all the folders below that. For example,
a "Solutions" folder might exist with indiviual project folders below that. Left unchecked,
TCS Grep Sharp searches only the files in the specified folder leaving the files in
the subfolders unsearched.
C:\
|── SourceCode\
| |── Solutions\
| |── SolutionA\
| |── Project1\
| |── Project2\
| |── Project3\
|── Users\
| |── DeveloperST\
| |── ProjectAB\
| |── ProjectBC\
| |── DeveloperAA\
| |── ProjectCD\
| |── ProjectDE\