ripgrep: 패턴과 일치하는 파일 이름만 인쇄

ripgrep: 패턴과 일치하는 파일 이름만 인쇄

사용립그렙( rg), 주어진 패턴과 일치하는 파일 이름만 인쇄할 수 있나요?

저는 두 가지 다른 일을 하려고 합니다.

  1. 패턴을 경로 이름 자체와 일치시킵니다(예 ag -g pattern: )
  2. 패턴을 파일 내용과 일치시키고 파일 이름만 인쇄합니다.

이 중 하나를 수행하는 방법을 모르겠습니다.

답변1

  1. 내용이 일치하는 파일 이름만 인쇄합니다.

    rg -l regex
    # OR: long-option form
    rg --files-with-matches regex
    
  2. 다음 주어진 패턴과 일치하는 디렉토리 항목(파일 이름)만 인쇄합니다 <directory>.

    rg -g '*glob*' --files <directory>
    

    -g규칙이 일치하는 glob 지정.gitignore무늬.

    !제외 하려면 glob 앞에 a를 붙입니다 .

    --iglob대신 대소문자를 -g구분하지 않는 glob을 사용하십시오 .

    --files실제로 검색을 수행하지 않고 검색할 각 파일을 인쇄합니다.


(2)를 수행하는 덜 효율적인 방법은 다음과 같습니다.

rg -lg '*pattern*' . <directory>

.이는 파일의 모든 문자와 일치함을 의미합니다 (따라서 빈 파일과 일치하지 않음).

관련 정보