「def test」を含むすべてのPythonテストスクリプトを一覧表示する方法

「def test」を含むすべてのPythonテストスクリプトを一覧表示する方法

「def test」を含むすべてのPythonテストスクリプトをリストしたいと思います。

コマンドラインは機能しませんが、単一のコマンドは機能します。

find . -name "*.py" | grep "def test"

ベストアンサー1

努力する:

grep -r --include '*.py' 'def test'
  • -rgrepにファイルを再帰的に検索するように指示する

  • --include '*.py'で終わる名前だけを確認するようにgrepに指示します.py

--includeどちらもこのオプションをサポートします。GNU(Linux) grepそしてMacOS grep

パイプライン法に関する議論

次のコマンドでは、findは見つかったファイルの名前をgrepの標準入力に渡します。

find . -name "*.py" | grep "def test"

ここでの問題は、grepが標準入力を検索するテキストとして扱うことです。したがって、唯一の出力は対応するファイルです。名前(コンテンツと反対)にはdef test

たとえば、空のファイルを作成しましょう。

$ touch 'def test.py'

パイプラインコマンドを実行します。

$ find . -name "*.py" | grep "def test"
./def test.py

このコマンドは、名前に基づいてファイルを検索します。その内容はレビューされたことがありません。

おすすめ記事