패턴과 일치하는 파일 이름과 파일의 줄 번호를 인쇄합니다.

패턴과 일치하는 파일 이름과 파일의 줄 번호를 인쇄합니다.

현재 디렉터리와 그 하위 디렉터리에서 "hello"라는 단어가 포함된 일반 파일을 검색해야 합니다.

이것이 나에게 효과가 없는 이유:

find . -type f | grep "hello"

답변1

당신은 파이프를 원한다찾다입력하다매개변수, 결과를 올바르게 읽습니다.찾다:

find . -type f -print0 | xargs grep "hello"

보다xargs(1)자세한 내용은 매뉴얼 페이지를 참조하세요.

답변2

hello제안한 명령을 사용하면 파일 내용 내의 문자열이 아닌 해당 문자열이 포함된 파일 이름을 찾습니다 . hello다음 구성을 사용하십시오.

find . -type f -exec grep -n hello /dev/null {} +

답변3

따라서 실제로 명령 -regex의 옵션을 사용할 수 있습니다 find.

find . -type f -regex ".*/.*hello.*"

.*hello.*-- "hello"라는 단어가 포함된 이름과 일치합니다. 명령이 전체 경로를 반환하기 .*/때문에 필요합니다 .find

관련 정보