Linux 특정 문자열로 파일 검색 또는 파일 내용 검색

리눅스에서 특정 문자열을 포함한 파일을 찾는 커맨드입니다.

커맨드를 매번 잊어버러셔 메모 겸 작성.

검색 방법은 grep와 find를 사용합니다.

 

파일명에 검색 문자가 포함된 파일 찾기

・지정 폴더만 찾기

ls [검색 대상 폴더] | grep "[검색 문자열]"

 

・지정 폴더에서 하위 폴더도 검색

find [검색 대상 폴더] -type f -name "*[검색 문자열]*"

 

파일 내용에 검색 문자가 포함된 파일 찾기

・지정 폴더에서 하위 폴더도 검색

find [검색 대상 폴더] -type f -print | xargs grep "[검색 문자열]"

 

・파일 확장자 지정

파일 확장자를 지정하여 검색하고 싶은 경우입니다.

find [검색 대상 폴더] -type f -name "*.[파일 확장자]" | xargs grep "[검색 문자열]"

 

예를 들어 현재 경로에 있는 파일중 test라는 문자열을 포함한 php파일을 검색 하고 싶은 경우에는 다음 처럼 작성해주면 됩니다.

(하위 폴더도 검색)

find . -type f -name "*.php" | xargs grep "test"

댓글