どのようにgrepして、一致する行のみを返しますか? つまり、パス/ファイル名は結果から省略されます。
この場合、現在のディレクトリ内のすべての .bar ファイルを調べて、FOO という用語を検索します。
find . -name '*.bar' -exec grep -Hn FOO {} \;
する必要はありませんfind。特定のディレクトリ内でパターンを探しているだけの場合は、これで十分です。
grep -hn FOO /your/path/*.bar
-hfrom のように、ファイル名を非表示にするパラメーターはどこにありますかman grep:
-h, --ファイル名なし
出力時にファイル名のプレフィックスを抑制します。これは、検索するファイルが 1 つだけ (または標準入力のみ) の場合のデフォルトです。
使用していたことに注意してください
-H, --with-ファイル名
各一致のファイル名を出力します。これは、検索するファイルが複数ある場合のデフォルトです。
-Hに置き換えるだけ-hです。man grepオプションの詳細を確認する
find . -name '*.bar' -exec grep -hn FOO {} \;
マニュアルページから:
-h, --no-filename
Suppress the prefixing of file names on output. This is the default when there
is only one file (or only standard input) to search.