特定のファイル拡張子を持つ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

関連情報