This is still an issue in Debian Stretch with bzip2, Version 1.0.6, 6-Sept-2010.
bzip2 doesn't seem to pass the first 5000 bytes of uncompressed data from stdin: $ echo string | egrep string string $ echo string | zegrep string string $ echo string | bzegrep string $ looking at the low-level programs: $ echo string | gzip -cdfq string $ echo string | bzip2 -cdfq $ Tests with cat-ing files instead of echo-ing show similar results, with bytes after the 5000th being passed. All bytes are passed if the file is a command line argument for bzegrep/bzip2.