GNU bug report logs -
#3479
rgrep sends directories needlessly to grep
Previous Next
Reported by: jidanni <at> jidanni.org
Date: Sat, 6 Jun 2009 05:25:04 UTC
Severity: minor
Done: 積丹尼 Dan Jacobson <jidanni <at> jidanni.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
Gentlemen, I used the same string as e.g.,
(rgrep "bla" "*" "~/mediawiki/")
produced, and instead appended fgrep, and found
$ find . \( -path \*/CVS -o -path \*/.svn -o -path \*/\{arch\} -o -path \*/.hg -o -path \*/_darcs -o -path \*/.git -o -path \*/.bzr \) -prune -o -type f \( -name \* \)|fgrep -c .svn
62
That's right, 62 .svn's, when you thought you had eliminated them. They
are all directories.
OK, now putting the print inside ( ),
$ cd ~/mediawiki/;find . -path \*/.svn -prune -o \( -type f \( -name \* \) -print \)|fgrep .svn
./math/.svnignore
./tests/.svnignore
Which were put there by the staff, so we have indeed eliminated what we
need to!
Therefore consider putting your ...-print0 inside a ( )!
Also only one space is needed between "-o -type f".
(Of course grep doesn't give an error when given a directory.)
This bug report was last modified 5 years and 287 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.