|Author:||Dr R Doctor|
|Submitter Email:||click here to access email|
Thanks to all who responded to my request for grepping under a DOS
environment with the following syntax:
< grep -r <FN1> <FN2> FN3 >
< where FN1 is the file with the set of strings to be grepped >
< FN2 is the data-base >
< FN3 is the output. >
With the suggestions and help that I have got, I have literally
"grepped" all about GREP. Thanks a lot I got a whole lot of answers
which I am summarising below:
1. The first was to use PERL script to write my own GREP: For both
Unix and dos, perl is a language that will easily allow to create a
small program that will do what you ask. More information about perl,
including free downloads for many environments, can be gotten from the
perl language home page, http://www.perl.com/perl/index.html.
2. The second suggestion was similar in nature: use AWK and LEX tools
for the job.
3.Under UNIX environment three types of GREP were proposed:
egrep -f fn1 fn2 > fn3
where fn1 is a file containing the search patterns (one per line). If
you only want to search for literal strings (no special characters)
then you can use fgrep instead of egrep. Do 'man grep' for more
fgrep -f patt-file-name < database-to-search > results-file
will work, assuming patt-file-name is a file of _strings_ (regular
expressions containing metacharacters are not allowed by fgrep.) Say
to get the details.
One hitch however it will only match strings, not regular
The sgrep utility (not standard UNIX) permits complex (and nested)
patterns to be searched for.
4. Under DOS
The gnu tools are now available under DOS; gnu has only one
grep and lets you do this (according to the manual) with
grep -f F1 F2 >F3
This works and I have used it with success. Thanks to Andreas Mengel
Incidentally egrep,sgrep and fgrep versions for DOS exist and can be
Thanks to Susana Sotelo Docio
5. Another suggestion was to use sed
sed -n -f <file> permits many patterns to be searched for (with
some problems when multiple matches occur on a line.
6. Another solution under DOS was to grep for a large number of
strings at once in a `regular expression'.
A second alternative was to batch-file the operation, which I am
using at present as a solution, but wanted something more functional.
7. A commercial solution was also proposed: MKS (Mortice-Kern) in
Canada makes a commercial set of Unix apps and commands for use in DOS
and Windows environments, including ksh, awk, grep, gres. Their grep
grep -f pattfile file > output
Many Thanks to:
Martin Wynne <firstname.lastname@example.org>
Will Dowling <email@example.com>
Kevin Bretonnel Cohen <firstname.lastname@example.org>
Mark Liberman <email@example.com>
John E. Koontz firstname.lastname@example.org
Peter Hamer <P.G.Hamer@nortel.co.uk>
Stuart Luppescu <email@example.com>
Stephen P Spackman <firstname.lastname@example.org>
Chris Culy <email@example.com>
David Palmer <firstname.lastname@example.org>
Shravan Vasishth <email@example.com>
Susana Sotelo Doc'io" <firstname.lastname@example.org>
Andreas Mengel <email@example.com>
for their prompt and helpful replies to my query.
|Original Query:||Read original query|
Sums main page