Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как сравнить 2 бинарных файла?  (Прочитано 1711 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн drion

  • Автор темы
  • Активист
  • *
  • Сообщений: 811
    • Просмотр профиля
Как сравнить 2 бинарных файла?
« : 25 Сентябрь 2018, 23:35:08 »
Редактирую постпроцессор для программы NX. Постпроцессор представляет собой бинарный текстовый файл.
Руководства по строению файла постпроцессора нет в природе.
Поэтому решил пробовать редактировать постпроцессор и после каждого изменения сравнивать с образцом. Таким образом будет понятно на что влияет каждая кнопочка в редакторе постпроцессоров.
Посоветуйте как сравнивать два файла и сразу видеть отличия.

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #1 : 25 Сентябрь 2018, 23:58:52 »
#!/bin/bash
a=`md5sum "$1" | sed 's/ .*//'`
b=`md5sum "$2" | sed 's/ .*//'`
if [ "$a" == "$b" ];then
echo Yes
exit 0
else
echo "No"
exit 1
fi
./script "file1" "file2"

Пользователь добавил сообщение 26 Сентябрь 2018, 00:04:44:
diff file1.txt file2.txt
« Последнее редактирование: 26 Сентябрь 2018, 00:04:44 от victor00000 »
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #2 : 26 Сентябрь 2018, 00:06:12 »
2 бинарных файла можно сравнить с помощью vbindiff или hexdiff.
Не уверен, что все это будет просто, так что удачи.

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 3913
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #3 : 26 Сентябрь 2018, 07:10:34 »
Цитировать
...бинарный текстовый файл.
Так бинарный или текстовый?
В "Midnight commander" есть команда сравнения файлов.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2112
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #4 : 26 Сентябрь 2018, 21:49:57 »
cmp тоже сравнивает файлы побайтно.
Пётр.

Оффлайн drion

  • Автор темы
  • Активист
  • *
  • Сообщений: 811
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #5 : 26 Сентябрь 2018, 22:09:22 »
#!/bin/bash
a=`md5sum "$1" | sed 's/ .*//'`
b=`md5sum "$2" | sed 's/ .*//'`
if [ "$a" == "$b" ];then
echo Yes
exit 0
else
echo "No"
exit 1
fi
./script "file1" "file2"

Пользователь добавил сообщение 26 Сентябрь 2018, 00:04:44:
diff file1.txt file2.txt
И что из этого скрипта следует? "Нет, файлы разные" или "Да, файлы одинаковые"?
Я и так знаю,что файлы разными будут.Мне надо конкретно видеть строки отличия.
Лучше попробую вначале через MC. Это способ кажется самым быстрым и простым.

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #6 : 26 Сентябрь 2018, 22:21:45 »
drion,
у Peter_I,  помощь.
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн drion

  • Автор темы
  • Активист
  • *
  • Сообщений: 811
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #7 : 29 Сентябрь 2018, 22:46:40 »
diffuse - нашёл вот такую программу. Два окна слева-справа.
В одно окно один файл,в другое - сравниваемый. Сразу видны строки с отличиями.
Есть возможность редактирования и слияния файлов.
Пока ещё разбираюсь. Главное для меня эта программа выдаёт.

ТС, как видно по состоянию на 12/02/2020 потерял интерес к созданной им теме (пометка Решено в теме отсутствует, тема оставлена не закрытой, сообщений в теме давно не было). Тема стародавняя (последнее сообщение в топике: 30/09/2018; последнее сообщение от ТС в топике: 29/09/2018). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 12 Февраль 2020, 23:33:16 от zg_nico »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2112
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #8 : 30 Сентябрь 2018, 12:00:15 »
Ещё можно сравнивать два файла, например, два варианта программы на C/C++, в LibreOffice.
Тоже два окна, различия подчёркиваются или выделяются. Я видел, как это делал мой коллега.
Пётр.

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6014
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Как сравнить 2 бинарных файла?
« Ответ #10 : 30 Сентябрь 2018, 12:43:40 »
Так бинарный или текстовый?
Если все же текстовый - есть diff и comm
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.176 секунд. Запросов: 22.