Как сравнить два бинарных файла


ramok аватар

ramok - Posted on 28 Ноябрь 2009

К сожалению я не знаю нормального способа визуального сравнения двух бинарных файлов (что бы нормально отображалось "выпадение байта").

Тем неменее имея zsh и vim, сравнить по быстрому два бинарных файла можно так

$ vim -d =(xxd -g 1 файл1) =(xxd -g 1 файл2)

Объяснения:

  • vim -d - diff режим vim-а, он же запускается командой vimdiff
  • =(xxd -g 1 файл1) - это конструкция zsh, запускает команду внутри =(), сохраняет вывод этой команды во временный файл, и подставляет его имя вместо этой конструкции.

Линки в тему:

0
Ваша оценка: Ничего

остается уточнить, что после первого выпавшего байта второй таким образом увидеть не выйдет... а очень хотелось бы

да и с первым выпадением еще разбираться нужно, сколько же там байт на самом деле выпало

>имея zsh и vim
имея bash/zsh и vim:
$ vim -d <(xxd -g 1 файл1) <(xxd -g 1 файл2)

прежде чем говорить - попробуй. там =() не просто так

Для сравнения бинарных файлов есть vbindiff

я так и знал что подскажут Ж:-) спасибо

из плюсов vbindiff:

  • работа с большими файлами
  • возможность изменять байты

из минусов:

  • сравниваемые файлы отображаются горизонтально, а вертикально, как в vimdiff, удобнее.
  • отображения файлов при выпадении байта такое же как и в vimdiff.
  • нет фолдов (хотя и можно прыгать по различиям по enter)

так что вывод такой: для мелких файлов vimdiff удобнее

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.