특정 확장자로 끝나고 특정 문자열을 포함하는 모든 파일을 Grep합니다.

특정 확장자로 끝나고 특정 문자열을 포함하는 모든 파일을 Grep합니다.

내 디렉토리에 .sh 및 .bat 파일이 있습니다. "JAVA_HOME"이라는 단어가 포함된 .sh 파일만 나열하고 싶습니다.

나는 grep -rl "JAVA_HOME" | grep "*.sh", grep -rl "JAVA_HOME" *.sh그리고 몇 가지 다른 임의의 것들을 시도했지만 그 중 아무것도 작동하지 않았습니다. 누군가 나를 도와줄 수 있나요? 감사해요.

답변1

-r이미 GNU grep(with ) 을 사용하고 있는 것 같으므로 --include일치하는 파일 이름만 검색하는 옵션을 추가하세요.

grep -rl --include='*.sh' "JAVA_HOME"

관련 정보