문자열을 포함하는 필터링된 파일 목록

문자열을 포함하는 필터링된 파일 목록

문자열이 포함된 파일을 찾고 있습니다. 내 명령:

grep -rwl '/path/' -e "string"

다른 문자열을 포함하는 경로로 결과를 제한하고 싶습니다. 나는 다음과 같이 할 수 있습니다 :

grep -rwl '/path/' -e "string" | grep 'path_string'

가능하다면 처음부터 'path_string'이 있는 경로만 살펴봄으로써 실행을 최적화하고 싶습니다. 이 작업을 어떻게 수행할 수 있나요?

답변1

find를 들어-path

find /path -path '*path_string*' -type f -exec grep -qw 'string' {} \; -print

이것은 1개의 쉘 패턴 /path과 일치하는 파일 이름을 검색 하고 해당 파일에서만 실행되며 성공하면 이름을 인쇄합니다.*path_string*grep


1: 패턴 일치는 다음부터 시작하는 전체 파일 이름에 적용됩니다./path/

관련 정보