수천 개의 하위 디렉터리로 구성된 디렉터리 트리가 있지만 종종 이러한 디렉터리 중 일부만 가져와야 하는 경우가 있습니다. 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*"