
이것은 검색의 루트 디렉터리에서 "foo" 디렉터리를 제외한다는 점에서 나에게 효과적입니다.
grep -rn --exclude-dir=foo 'custom'
그러나 이것은 작동하지 않습니다.
grep -rn --exclude-dir=foo/bar 'custom'
그러나 "foo/bar" 디렉토리는 여전히 검색됩니다. 나는 또한 따옴표를 사용하여 시도했습니다.
grep -rn --exclude-dir='foo/bar' 'custom'
우분투 20을 사용하고 있습니다.
업데이트
완벽하지는 않지만 대신 다음 해결 방법을 사용했습니다.
grep -rn 'custom'|grep -v 'foo/bar'
이렇게 하면 "foo/bar"와 "custom"이 모두 포함된 행을 찾지 못합니다.
답변1
방금 같은 문제가 발생하여 전화로 해결했습니다.
grep -rn --exclude="**/foo/**" 'custom'
답변2
"*variable*"
grep 검색에서 제외하려는 디렉터리와 일치하는 와일드카드로 이 연산자를 사용하세요 .
귀하의 경우에는
grep -rn --exclude-dir={"*foo*"} 'custom'
이름이 'foo'인 디렉터리 또는 하위 디렉터리를 제외합니다.
grep -rn --exclude-dir={"*foo*","*bar*"} 'custom'
이름이 'foo' 및 'bar'인 모든 디렉토리와 하위 디렉토리를 제외합니다.