By default, type is ‘binary’, and grep normally outputs either a one-line message saying that a binary file matches, or no message if there is no match. When processing binary data, grep may treat non-text bytes as line terminators; for example, the pattern ‘.’ (period) might not match a null byte, as the null byte might be treated as a line terminator even without the -z (--null-data) option.
If type is ‘without-match’, grep assumes that a binary file does not match; this is equivalent to the -I option.
If type is ‘text’, grep processes a binary file as if it were text; this is equivalent to the -a option.
Warning: ‘--binary-files=text’ might output binary garbage,
which can have nasty side effects
if the output is a terminal and
if the terminal driver interprets some of it as commands.
\
to quote a wildcard or backslash character literally.