web-dev-qa-db-ja.com

すべての* .pyファイルを検索する

Mac OSターミナル(Linuxと同様)を使用しており、拡張子が* .pyのコンピューター上のすべてのファイル内を検索する最良の方法を見つけようとしています

これを達成するための最良の方法は何ですか?

私は検索用に1つのキーワードを入れ、これらのpythonファイルが含まれているファイルのパス全体をすばやく表示することを望んでいました。

2
Joe

これを試して、

find / -name '*.py' -exec grep -l "keyword" {} \;

説明:

  • find / -name '*.py':以下のファイルを検索します/ _ py拡張子付き。
  • -exec grep -l keyword {} \;見つかったファイル内で、grep for keywordになり、一致するファイル名の代わりにファイル名を出力します-l

私はMac OSに慣れていませんが、シェルにglobstarオプションがある場合は、以下を使用できます。

shopt -s globstar
grep -l keyword /**/*.py
7
pLumo

文字列needleをPython haystackディレクトリ内のファイルの束で探します。

$ grep -l 'needle' haystack/*.py

ディレクトリツリーに降りるには、grep -RまたはRoVoからの回答のようにfindを介して反復に切り替えます。

0
DopeGhoti