Я анализирую шестнадцатеричные данные из дампов двоичных данных из базовой программы командной строки. Я в основном сбрасываю точное содержимое структуры (большой массив структур, фактически) в текстовый файл.diff - найти конкретное изменение между двумя значениями в шестнадцатеричном дампе
Затем я создаю второй двоичный дамп и сравниваю два файла в vim
с помощью xxd
для создания двоичных-текстовых представлений исходных данных.
Оба файла имеют одинаковый размер в байтах, и я пытаюсь сравнить их в значимом ключе. Даже небольшое изменение в данных перед тем, как я выкидываю файл, приводит к большому изменению в других частях файла из-за других разделов, содержащих хеши, функции на основе измененного значения и т. Д.
Можно ли сказать diff
или vimdiff
сказать, сравнить два файла, и показать мне только части файла, в котором в исходном файле (то есть: файл 1) значение было равным 1
, а во втором файла, значение было установлено на 32
?
Спасибо!
Это предлагает сравнение текста режим работы вывод двух двоично-текстовых файлов, которые я уже создаю в 'vim'. Как это относится к проблеме сравнения по конкретным полям, учитывая, что я знаю, что одно поле будет начинаться со значения 'x', а во втором файле будет значение' y'? – DevNull
Вы посмотрели 'cmp'? –
Я не понимаю проблему. 'cmp -l' будет« Печатать номер байта (десятичный) и разные байтовые значения (восьмеричные) для каждой разницы ». Просто 'grep' через этот список для известных значений, и он даст вам десятичное смещение. –