패턴과 일치하는 하위 디렉터리만 grep

패턴과 일치하는 하위 디렉터리만 grep

수천 개의 하위 디렉터리로 구성된 디렉터리 트리가 있지만 종종 이러한 디렉터리 중 일부만 가져와야 하는 경우가 있습니다. grep패턴의 하위 디렉터리만 일치시키려면 어떻게 해야 합니까 ?

예를 들어, grep하려는 하위 디렉터리가 있다고 가정해 보겠습니다.

...
...
...
/foo
/fooLib
/fooHandler
/fooGizmo
...
...
...

위 항목은 ...수천 개의 다른 디렉토리를 나타냅니다.아니요grep이 들어오길 원합니다.

내가 찾고 있는 모든 인스턴스를 가정 bar하면 다음과 같습니다.

grep -n --recursive bar *

나는 모든 디렉토리에서 내가 찾고 있는 것을 찾을 것입니다. 패턴과 일치하는 하위 디렉터리만 검색하는 방법은 무엇입니까 foo*?

답변1

다음과 같은 조합을 찾아 찾을 수 있습니다.

find /{foo,fooLib,fooHandler,fooGizmo} -type f -exec grep -l "test" {} \;

아니면 당신은 사용할 수 있습니다

find /foo* -type f -exec grep -l "test" {} \;

아니면 그냥 grep을 사용하세요

grep -R "test" /foo*

답변2

예를 들면 다음과 같습니다 grep foo* <other parts>.grep foo* -name "book*"

관련 정보