특정 파일 확장자를 가진 git 추적 파일만 검색하는 방법은 무엇입니까?

특정 파일 확장자를 가진 git 추적 파일만 검색하는 방법은 무엇입니까?

.hs1. 파일 확장자가 있고 2. 해당 단어가 모든 줄에 포함되어 있는 모든 git 추적 파일을 검색하고 싶습니다.import

을 사용해 보았지만 git ls-files -z | xargs -0 rg -g '*.hs' "import"불행하게도 명시적인 파일 목록을 전달하면 glob 플래그를 rg무시하는 것 같습니다 .-g

특정 파일 확장자를 가진 파일을 추출하기 위해 일부 정규식 뒤돌아보기를 사용할 수도 있고 grep, 출력을 필터링할 수도 있습니다 git ls-files -z(널로 구분된 파일 이름 측면을 유지하는지 확인하지만 두 방법 모두 약간 투박해 보입니다...).

누구든지 아이디어가 있다면.

답변1

git grep또한 다음과 같은 작업도 수행할 수 있습니다.

git grep import -- '*.hs'

*.hs현재 디렉토리부터 시작하여 일치하는 모든 git 추적 파일에서 "import"를 검색합니다.

답변2

질문을 잘못 읽지 않았기를 바랍니다. "모든 줄에 해당 단어가 포함된 모든 git 추적 파일을 검색"하려면 import다음과 같이 하세요.

git ls-files -z | xargs -0 grep -l import

*.hs파일 내에서만 검색 하려면 다음을 수행하십시오.

git ls-files -z '*.hs' | xargs -0 grep -l import

관련 정보