検索後、grepにファイルの内容は表示されません。

検索後、grepにファイルの内容は表示されません。

通常grep -r "word" <path>、次のような場合に表示されます。

<file_path>: <line_with_word>

しかし、次のようなことをした場合:

find . -type f -name "*.py" -exec grep "word" {} \;

内容のみを表示でき、grep -lを使用するとファイルのみを表示できますが、両方が必要です。

答え1

GNUを使用している場合、grepこの-Hオプションを使用すると、すべての場合に出力にファイル名が接頭辞で付けられます。

find . -type f -name "*.py" -exec grep -H "word" {} \;

しかし、一度に多くのファイルを実行するのではなく、+ここで使用できます。\;grep

find . -type f -name "*.py" -exec grep -H "word" {} +

関連情報