Найдите самую длинную соответствующую часть с двумя бинарными файлами

Скажем, у меня есть два бинарных файла, каждый примерно 50 МБ, которые могут содержать цифровую идентичную часть. Есть ли простой способ сравнить эти два файла, найти самую длинную идентичную часть и сохранить ее в файле?

(Если это имеет значение, файлы, о которых идет речь, являются файлами AAC с потоковым захватом. У них есть звуковой шаблон, который звучит одинаково, но он может быть или не быть цифровым. Итак, у меня есть две задачи: сначала определите, плита идентична цифре, вторая – идентичная часть).

Я рекомендую вам использовать cmp это очень полезно и имеет хорошие параметры, такие как -b, если вы хотите печатать байты, которые отличаются, а -l – более подробные. Например, для сравнения файлов a и b используйте командную строку, например:

 $ cmp -lb ab 

Он выдаст вам все байты, которые отличаются. Если оба файла одинаковы, cmp будет тихо возвращаться (вы всегда можете проверить его возвращаемое значение $?). Обратите внимание, что cmp с параметром -b выдаст только те байты, которые отличаются, и если вы не используете -l, он остановится первый байт отличается.