php exec() の特定のシェル結果が間違っているのは、php の grep がバイナリ ストリームではなくテキスト ストリームのみを処理できるためです。
Linux コマンドラインでテストする場合は問題ありません。しかし、php の exec には非常に奇妙な問題があります。
結果エラー:
エラー メッセージは次のとおりです: cat: write error: Broken Pipe
多くの努力と多くの情報を確認した後、ついに解決しました。
grep -a オプションの意味: バイナリ ファイルをテキストであるかのように処理します。これは --binary-files=text オプション
と同等です。
cat であるはずのこのファイルの内容にはバイナリ ストリームが含まれているため、grep がそれを認識できません