>Привет всем.
>ищу дифф, но только для обработки *бинарных* файлов.
>Пробовал 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";
}
}