1

I'm doing a word search using the following command:

find . -exec grep -q [some_word]  '{}' \; -print -o -name .svn -prune -o -name .ssh -prune -o -name .boneyard -o -name log -prune -prune -o -name tmp -prune

Is it possible to use a regex to exclude all hidden directories?

Note: The current command traverses the entire tree from the current location and exclude those being pruned. The exclusion needs to work for any hidden directory regardless off location.

Oliver Salzburg
  • 86,445
  • 63
  • 260
  • 306
xRickerlx
  • 11
  • 2

1 Answers1

0

You want the regex flag of find:

find . \( ! -regex '.*/\..*' \) -exec grep -q [some_word] {} \; -print -o -name .svn -prune -o -name .ssh -prune -o -name .boneyard -o -name log -prune -prune -o -name tmp -prune

Also, please read the manual.

slhck
  • 223,558
  • 70
  • 607
  • 592
PenguinCoder
  • 648
  • 5
  • 13
  • I tried this and various other methods and couldn't get the output to match. I see now my problem is with 'grep -q'. Thanks for the quick response. – xRickerlx Jun 27 '12 at 21:19