사용립그렙( rg
), 주어진 패턴과 일치하는 파일 이름만 인쇄할 수 있나요?
저는 두 가지 다른 일을 하려고 합니다.
- 패턴을 경로 이름 자체와 일치시킵니다(예
ag -g pattern
: ) - 패턴을 파일 내용과 일치시키고 파일 이름만 인쇄합니다.
이 중 하나를 수행하는 방법을 모르겠습니다.
답변1
내용이 일치하는 파일 이름만 인쇄합니다.
rg -l regex # OR: long-option form rg --files-with-matches regex
다음 주어진 패턴과 일치하는 디렉토리 항목(파일 이름)만 인쇄합니다
<directory>
.rg -g '*glob*' --files <directory>
-g
규칙이 일치하는 glob 지정.gitignore
무늬.!
제외 하려면 glob 앞에 a를 붙입니다 .--iglob
대신 대소문자를-g
구분하지 않는 glob을 사용하십시오 .--files
실제로 검색을 수행하지 않고 검색할 각 파일을 인쇄합니다.
(2)를 수행하는 덜 효율적인 방법은 다음과 같습니다.
rg -lg '*pattern*' . <directory>
.
이는 파일의 모든 문자와 일치함을 의미합니다 (따라서 빈 파일과 일치하지 않음).