Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

dgrep - Wrapper around gnu find & grep

by domm (Chaplain)
on Jul 22, 2002 at 20:10 UTC ( #184215=sourcecode: print w/ replies, xml ) Need Help??

Category: Utility Scripts
Author/Contact Info Thomas Klausner domm AT
Description: I just cannot remember how to run find and grep together. After reading the FM once too often, I wrote this small wrapper..

Pass it a pseudo-regex (to match the files) and another one to look for in all files.

% dgrep .pm foo Will look for "foo" in all files ending in ".pm" in the current and lower directories.

Edited: ~Tue Jul 23 15:24:49 2002 (GMT), by footpad:
Added <code> tags to the code.

#!/usr/bin/perl -w
my ($findin,$grepfor)=@ARGV;
my $in=qq(find -name '*$findin' -exec grep -Hn '$grepfor' {} \\;);
print `$in`;

Comment on dgrep - Wrapper around gnu find & grep
Download Code
Re: dgrep - Wrapper around gnu find & grep
by jmcnamara (Monsignor) on Jul 22, 2002 at 21:08 UTC

    I usually do something like this:     find . -name \*.pm | xargs grep foo

    With egrep or grep -E as necessary. With gnu find the . isn't required. And with gnu grep you can also do the following (crude) recursive grep:     grep -rs foo *

    There are probably other ways as well.


      Ah, this

      find . -name \*.pm | xargs grep foo

      is definitly nicer than what I was using.


      (But I think I'll still use my wrapper...)

      -- #!/usr/bin/perl for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}
      Lest filenames with spaces, newlines or other funky bits in them trip you, you might want to get into the habit of coupling find and xargs with their respective nullbyte-termination parameters (see manpages): find . -name \*.pm -print0 | xargs -0 grep foo
      Makeshifts last the longest.

Back to Code Catacombs

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://184215]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (17)
As of 2015-07-07 14:34 GMT
Find Nodes?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...

    Results (89 votes), past polls