graham_k
asked on
looking for rgrep port for Solaris (from Linux)
I know that Linux offers an rgrep command and want Solaris binaries. I *do* not want an RPM, please, because I don't have all of the dependancies. Nor do I want (yet another) Perl scrip, fine as they are.
The points will only go to someone who has taken the Linux sources to rgrep & recompiled them under Solais. I'd like a single executable (if possible). Sources might be a bonus too.
Anyone out there done it already?
The points will only go to someone who has taken the Linux sources to rgrep & recompiled them under Solais. I'd like a single executable (if possible). Sources might be a bonus too.
Anyone out there done it already?
Is there some reason that you can't use the recursive option of gnu grep? The only time I compared rgrep and "grep -r" it seemed to me that grep was faster. There's a precompiled grep-2.0 in the Solaris 2.5 collection on http://sunfreeware.com/ that will run on 2.5 and later.
ASKER
thanks very much for the suggestion. Unfortunately, it didn't work out.
As I said, I can't install packages. So, I D/Led the sources & built. Unfortunately, grep2.0 doesn't support a -r option.
Any other ideas?
As I said, I can't install packages. So, I D/Led the sources & built. Unfortunately, grep2.0 doesn't support a -r option.
Any other ideas?
Oh, If you can build sources go to http://www.gnu.org/order/ftp.html and pick a mirror site close to you and download the latest version (grep-2.4.2). From your question I thought you only could use a binary and I didn't realize that the recursive option isn't in 2.0. That's my mistake, and I apologise for it.
ASKER
o.k, I found the source of grep 2.3 and that supports a -r option. I guess that I will use that.
Thanks for trying anayway.
Thanks for trying anayway.
ASKER
This question has a deletion request Pending
This question no longer is pending deletion
2.3 had some bugs and performance problems, you'd be better off with 2.4.2.
ASKER
sounds good, do you know where I can lay my hands on the source code?
ASKER
o.k, found it (by searching on http://www.gnu.org).
I found v2.4, if you know where the source for v2.4.2 is, let me know.
I'd still quite like the Linux rgrep as that coulour highlights the matched string. If I weren't too lazy, I'd hack this code myself to do it.
I found v2.4, if you know where the source for v2.4.2 is, let me know.
I'd still quite like the Linux rgrep as that coulour highlights the matched string. If I weren't too lazy, I'd hack this code myself to do it.
ASKER
btw, a totally stupid question, but why doesn't
grep ifdef *.c
produce the expected result ? I'm forced to
grep ifdef *
which of course slows it down & greps through binaries, etc.
Am I missing something blindingly obvious?
grep ifdef *.c
produce the expected result ? I'm forced to
grep ifdef *
which of course slows it down & greps through binaries, etc.
Am I missing something blindingly obvious?
As to 2.4.2, I just went to http://www.gnu.org/order/ftp.html, from an earlier comment, picked the closest mirror (ftp://ftp.uu.net/archive/systems/gnu/ in my case) and then looked in the grep subdir.
"grep ifdef *.c" certainly should look at all .c files in a directory, it does for me. It's the shell's job to expand the wildcard (*.c), grep just processes each of the file names. What do you see if you got to that dir and do "ls *.c"?
"grep ifdef *.c" certainly should look at all .c files in a directory, it does for me. It's the shell's job to expand the wildcard (*.c), grep just processes each of the file names. What do you see if you got to that dir and do "ls *.c"?
ASKER
well, as the only respondant, you're going to get the point anyway. I don't like to sound like I'm trying to get an extra question answered for free here, but I just can't get the resursive part to work, which is the whole point of the exercise.
When in my source directory
grep ifdef *.c
works just fine. Making it recusrive
grep -r ifdef *.c
also works (although it' spointless, since there are no subdirectories). BUT, if I cd .. and issue the same command, I get "No match.". This has got me stumped. The same result (obviously) when I replace -r with its functional equivelant --directories=recurse.
Am I missing something obvious?
When in my source directory
grep ifdef *.c
works just fine. Making it recusrive
grep -r ifdef *.c
also works (although it' spointless, since there are no subdirectories). BUT, if I cd .. and issue the same command, I get "No match.". This has got me stumped. The same result (obviously) when I replace -r with its functional equivelant --directories=recurse.
Am I missing something obvious?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Aha! so "grep -r ifdef ." works. Wonderful!
I've played with various permutations of piping the output of find to grep. About a year ago I went heavilly into research mode on this. There were all sorts of Un*x guru flame wars on UseNet, about starting a new shell for each file found, use of xargs, etc. I can't remember it all. I also didn't fancy remembering & typing in a complex command every time I needed it. Strangely, what works on the command line, does not work from within a shell script. Also, I couldn't figure out how to set up an alias for the command. I did find some useful Perl scripts, but I reckoned that the best way has to be one dedicated binary.
yes, I found those Jed sources too, but couldn't get them to build. I can't remember why. Missing some includes, I think. I'll drop you a mail, in case you have any success.
At least now that you explained that the file parameter becomes a driectory, I _can_ do what I wanted to do. So I will award you the points. No need to stop posting, though :-)
Thanks again.
I've played with various permutations of piping the output of find to grep. About a year ago I went heavilly into research mode on this. There were all sorts of Un*x guru flame wars on UseNet, about starting a new shell for each file found, use of xargs, etc. I can't remember it all. I also didn't fancy remembering & typing in a complex command every time I needed it. Strangely, what works on the command line, does not work from within a shell script. Also, I couldn't figure out how to set up an alias for the command. I did find some useful Perl scripts, but I reckoned that the best way has to be one dedicated binary.
yes, I found those Jed sources too, but couldn't get them to build. I can't remember why. Missing some includes, I think. I'll drop you a mail, in case you have any success.
At least now that you explained that the file parameter becomes a driectory, I _can_ do what I wanted to do. So I will award you the points. No need to stop posting, though :-)
Thanks again.
Okay... I'll take a crack at getting it to compile tomorrow.