Civileme,
thank you for replying, and as always your wisdom pleasurably far
exceeds what I could have hoped for in an answer. It's almost as if you
"read my mind" to know how to answer. That is very much of the
information I was looking for and has also given me a great deal to chew
on while digesting the rest of it.
thanks,
Mark
Civileme wrote:
>
> On Saturday 24 March 2001 14:14, you wrote:
> > Hi list,
> >
> > I know I've used this utility before, but you know what?...I really have
> > no idea for sure what the little bugger is. I've taken it for granted
> > that it's in there and used it as I've seen it exampled.
> >
> > So, could someone provide a definitive explanation of just what exactly
> > grep is, where I might find some real thorough information on usage and
> > function on this wonder of hidden technology?
> >
> > thanks,
> >
> > Mark
> Hiya Mark!
>
> Well there are as many uses for grep as there are for a pocket camera.
>
> Generalized Regular Expression Parser
>
> Basically it returns each line or each item in a list that matches a regular
> expression that you give it.
>
> Regular expressions? Well there are three frequent styles of them,
> recognized with slight differences by different programs. Here are some
> examples:
>
> [A-Z][a-z] match any alphabetic
> ^ match begining of line
> * match zero or more preceding
> . match any character
> $ match end of line
> \ makes an "escape" so the next character is not a
> metacharacter
> + match one or more preceding
> ? match zero or more preceding
> | either/or choices to match
> () groups an expression to match (where it would otherwise
> be unclear)
>
> You can also store a pattern for later replay but occasions to use that in
> day-to-day system administration are rare.
>
> And to make things more fun, there are variations of grep.
>
> rgrep is a recursive grep through files in a directory and possibly
> subdirectories.
>
> fgrep searches a bunch of files, and prints lines that match or don't match
> text and possibly n lines before and m lines after along with the file name
> and line number--a handy little concordance generator.
>
> egrep does the same as fgrep but supports different regular expressions and
> doesn't support pattern storage or \< \> \n \| escapes.
>
> Usually one doesn't use grep by itself, but there are some times where it
> might be helpful. I had just installed StarOffice for a bunch of secretaries
> and they could not find their files and I hadn't studied that portion of
> StarOffice... So I asked "Who is the letter addressed to?" Then
>
> rgrep -l "Stevens" /home/karmen
>
> popped up the directory path to the file.
>
> Or suppose you want to remove all the packages whose names begin with 'kde'
>
> You can get a list of those packages with
>
> rpm -qa | grep ^kde
>
> since ` paired with another ` on the bash command line means "Subsitute the
> output of the program" and since most commands are happy to take a list of
> files,
>
> rpm -e `rpm -qa | grep ^kde`
>
> will attempt to remove them all (of course it might encounter a dependency
> problem).
>
> Or suppose I wanted a list of non-mandrake rpm packages on a system (typical
> bug analysis task)
>
> rpm -qa | grep -v [0-9]*mdk
>
> so, the basis of grep is a pattern-matching engine that searches files
> looking for matches on a line, and doing something with those lines that it
> is not doing to other lines (or vice versa) exactly what it does and whether
> it does that to the lines that match or the lines that don't match is
> controlled by the many option switches available. The other program names in
> the grep family are basically just built-in option switches.
>
> Civileme