すべてのファイルを検索し、その結果をgrep検索パターンで使用する

すべてのファイルを検索し、その結果をgrep検索パターンで使用する

findとxargまたはexecを組み合わせて、結果から特定のパターンを検索する例を見つけました。リンクを参照してください。ここただし、
find コマンドの結果を grep の検索パターンとして使用したいと思います。以下のコマンドのようなものですが、どのように構築すればよいかわかりません。

find . -name "*.cgi" -printf '%f\n' | cut -d. -f1 | xarg grep 'find_result' *.html

答え1

GNU を想定しgrep、ファイル名に改行が埋め込まれていないと仮定します。

find . -name '*.cgi' -printf '%f\n' | cut -d. -f1 | sort -u | fgrep -f - *.html

答え2

ここでは必要ありません。stdinからパターン リストを読み取るxargsだけで済みます。grep

GNU find を使用すると:

find . -name '*cgi' -printf '%f\n' | grep -f - *html

さもないと:

find . -name '*cgi' | cut -f2- -d/ | grep -f - *html

関連情報