The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"diff для бинарных файлов"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"diff для бинарных файлов"  +/
Сообщение от ddd on 15-Авг-09, 00:06 
Привет всем.
ищу дифф, но только для обработки *бинарных* файлов.
Пробовал xdelta, bsdiff - но они на выходе делают патчи, а мне нужно просто получить разницу между двумя файлами.
(т.е. без указания смещений и т.п.)
Заранее спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "diff для бинарных файлов"  +/
Сообщение от ddd on 15-Авг-09, 01:20 
>Привет всем.
>ищу дифф, но только для обработки *бинарных* файлов.
>Пробовал xdelta, bsdiff - но они на выходе делают патчи, а мне
>нужно просто получить разницу между двумя файлами.
>(т.е. без указания смещений и т.п.)
>Заранее спасибо.

я в общем-то нашёл что искал.. как всегда всё закончилось перлом.(идея взята отсюда http://www.rocket99.com/linux/perl12.html)
#!/usr/bin/perl

#----------------------------------------
#  бинарный дифф.
#----------------------------------------

$file1 = $ARGV[0];
$file2 = $ARGV[1];
$diff_file = $ARGV[2];

$size1 = -s $file1 ;

open(FILE1,"<$file1") or die "Input file: Cannot open file1\n\n";
open(FILE2,"<$file2") or die "Input file: Cannot open file2\n\n";
open(DIFF_FILE,">$diff_file") or die "Output file: Cannot open diff_file\n\n";

$/;
$i = 0 ;
while ($i < $size1)
  {

  $i ++ ;

  $ch1 = getc(FILE1);
  $ch2 = getc(FILE2);

  if (!($ch1 eq $ch2))
     {
     print DIFF_FILE "$ch1";

     }

  }

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру