ripgrep:パターンに一致するファイル名のみを印刷する

ripgrep:パターンに一致するファイル名のみを印刷する

使用リップグレップ( rg)、指定されたパターンに一致するファイル名のみを印刷できますか?

私は2つの異なることをしようとしています。

  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>

.これは、ファイル内のすべての文字と一致することを意味します(したがって、空のファイルと一致しません)。

関連情報