Как сравнить первые N байт двоичных файлов в Linux - PullRequest
9 голосов
/ 01 июня 2011

У меня есть два бинарных файла с разными размерами. Мне нужно сравнить первые N байтов этих файлов в Linux. Я ожидаю, что результатом будет либо «да» (то же самое), либо «нет» (не то же самое), а не сравнение между байтами. Значение N может варьироваться от КБ до ГБ.

В настоящее время я использую следующий подход:

head -c N input1.dat | rdiff signature >1.sig
head -c N input2.dat | rdiff signature >2.sig
diff 1.sig 2.sig

Но мне интересно, есть ли другой подход, более простой. Спасибо.

1 Ответ

20 голосов
/ 01 июня 2011

Попробуйте cmp:

cmp -n <bytes> file1 file2

Со страницы руководства: состояние выхода равно 0, если входы одинаковы, 1, если отличается, 2, если проблема.

...