Hexdump объединит файлы, затем преобразует их в шестнадцатеричные.Если последовательность символов разделена по границе строки, то она не будет соответствовать вашему grep.Я подозреваю, что это происходит в некоторых случаях, но не в других.
Вы можете попробовать использовать параметр -n с большим числом (больше, чем файлы, которые вы используете), чтобы поместить весь вывод в одну строку.