루트 디렉토리에서 시작하는 ASCII 텍스트 "shirt"를 포함하는 Girl 디렉토리의 모든 파일을 찾으려면 어떤 명령을 사용해야 합니까?
답변1
find . -print0 | xargs -0 grep -FH text
-exec
grep -r
내 컴퓨터에서 실행하는 것 보다 빠릅니다.
답변2
grep
파일 내에서 패턴을 검색하기 위한 표준 도구입니다. 재귀적으로 검색할 수 있는 옵션이 있습니다. 즉, 디렉터리를 찾으면 그 디렉터리로 들어가서 그 안에 있는 모든 것을 검색합니다.
명령은 단순히grep -r shirt /path/to/girl/
--binary-files=without-match
또한 관심이 없는 파일을 건너뛸 수 있는 두 가지 옵션, 즉 및 를 추가하고 싶습니다 --devices=skip
.
답변3
명시된 바와 같이션, 사용하면 grep -r
귀하의 필요에 충분할 수 있습니다.
find
그렇지 않으면 및 의 조합이 grep
트릭을 수행합니다.
find . -exec grep -H text '{}' ';'
이를 통해 특정 찾기 조건자를 사용하여 검색을 구체화할 수 있습니다. (그리고 -H
일치하는 내용과 함께 파일 이름을 인쇄하는 옵션도 있습니다.)