grep: パイプを使用すると大容量ファイルにメモリが消費される

grep: パイプを使用すると大容量ファイルにメモリが消費される

grepパイプを使用せずに特定のバイトを検索しようとすると、次の出力が表示されます。

$ grep -aboP "\\x55" bigfile
510:U
1049086:U
1049598:U

ただし、パイプを介してスキーマを提供すると、メモリ消費エラーが発生します。

$ echo "\\\\x55" | grep -aboPf - bigfile
grep: memory exhausted

なぜこれが起こり、どのように機能させるのですか?

答え1

まあ、一重引用符を使用していくつかのバックスラッシュを削除すると動作するようです。

$ echo '\x55' | grep -aboPf - bigfile
510:U
1049086:U
1049598:U

ヒントをありがとう @StéphaneChazelas ありがとうございます。

関連情報