Mac OSターミナル(Linuxと同様)を使用しており、拡張子が* .pyのコンピューター上のすべてのファイル内を検索する最良の方法を見つけようとしています
これを達成するための最良の方法は何ですか?
私は検索用に1つのキーワードを入れ、これらのpythonファイルが含まれているファイルのパス全体をすばやく表示することを望んでいました。
これを試して、
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
文字列needle
をPython haystack
ディレクトリ内のファイルの束で探します。
$ grep -l 'needle' haystack/*.py
ディレクトリツリーに降りるには、grep -R
またはRoVoからの回答のようにfind
を介して反復に切り替えます。