Сейчас на форуме: _MBK_ (+6 невидимых)

 eXeL@B —› Основной форум —› Сравнение текстовых файлов (неожиданная проблема)
Посл.ответ Сообщение


Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 14:03
· Личное сообщение · #1

Всем добрый день.
Столкнулся сегодня, с такой запаркой. Задача: сравнить 2 текстовых файла, нужно сравнить каждую строчку и изменения подчеркнуть. Ну что может быть проще: Araxis Merge, ExamDiff Pro,Beyond Compare и т.д. Софта навалом. Давай его применять, да не тут то было. Все программы настолько наворочены, что эти навороты вылазят боком. Каждая программа находит в 2 практически одинаковых текстах, так называемые "вставленные куски"(естественно их там нет), соответственно дальше текст съезжает и сравнение идет не правильно. Сколько не лазил в опциях но эту так называемую "синхронизацию" так и не смог отключить. Может кто сталкивался с подобной проблемой???



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 17 апреля 2007 14:13
· Личное сообщение · #2

В коммандной строке набери comp )) Ну или в Total/Windows Commander сделай сравнение




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 17 апреля 2007 14:16
· Личное сообщение · #3

Veliant пишет:
В коммандной строке набери comp )) Ну или в Total/Windows Commander сделай сравнение

нуну.. это если буква заменена..а если вставлено несколько строк, то надо софт посложнее =)
мне exam diff pro всегда помогал

-----
Тут не могла быть ваша реклама





Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 14:35
· Личное сообщение · #4

вот в чем проблема:

синим examdiff показывает, что этот кусок удален, естественно это не верно. как отключить такую штуку?




Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 14:40 · Поправил: seeq
· Личное сообщение · #5

Veliant пишет:
Ну или в Total/Windows Commander сделай сравнение

Тотал выдает тоже, что и на рисунке, правда красным цветом




Ранг: 199.9 (ветеран), 4thx
Активность: 0.120.02
Статус: Участник

Создано: 17 апреля 2007 14:42 · Поправил: YDS
· Личное сообщение · #6

Вообще-то сравнивался в Total Commander "вставленные" куски обрабатывает корректно: этот самый вставленный кусок выделяет красным в одном файле (на панели) и пропускает при сравнении в другом, затем продолжает побайтное сравнение файлов (скрин в аттаче). Чем не устраивает?

ПыС. Эта тема периодически тут всплывает, зачем создавать новый топик?




Ранг: 199.9 (ветеран), 4thx
Активность: 0.120.02
Статус: Участник

Создано: 17 апреля 2007 14:53
· Личное сообщение · #7

Аттач (не подцепился)

aa74_17.04.2007_CRACKLAB.rU.tgz - TC_compare.JPG




Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 15:08
· Личное сообщение · #8

YDS
как видишь, мне нужно сравнивать текст блоками. они уже синхронизированы и идут друг напротив друга (это 2 лога с разными условиями). Да, блок может быть идентичными со следующим, вот по этому все эти проги и сбиваются. Но мне не нужна эта синхронизация вообще. И ее как назло не в одной программе нельзя отключить.




Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 15:28
· Личное сообщение · #9

сталкивался с такой же проблемой, решения не нашел. пробовал помимо всего что ты перечислил kdiff и много чего еще. попробуй поискать утили подобного плана на sf.net, там больше вероятности найти решение для этой задачи. если найдешь - стукни в пм, плиз.



Ранг: 74.4 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 17 апреля 2007 17:46
· Личное сообщение · #10

seeq
windiff помоему какраз для твоей проблемы, сравнивает текст по строкам а не по байтам и если гдето находит повторяещиеся блоки она их выделяет. Даже если у них разное смещение.




Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 18:16 · Поправил: seeq
· Личное сообщение · #11

Это просто пиздец, перелопатил груду софта:
Araxis Merge (как по мне лучшая сравнивалка поддерживает до 3 файлов) В ней единственной есть возможность занятся выравниванием, но уже после автоматического сравнения, а это тоже куча работы. Итак, такую, на первый взгляд тривиальную проблему не смогли решить следующие программы: ExamDiff Pro, UltraCompare Professional, Beyond Compare 2, Advanced Visual Compare, WinMerge, Compare It!, KDiff3, Altova DiffDog, Diff Doc, Visual Comparer, Compare & Find Differences Between Two Text Files Software, MultiFileCompare и т.д. Все устану перечислять пол дня убил, что б прийти к выводу, что нужно написать самому...
Windiff показывает чуть не так как все, но все равно не удобно.



Ранг: 68.8 (постоянный)
Активность: 0.120
Статус: Участник

Создано: 17 апреля 2007 18:42 · Поправил: bash
· Личное сообщение · #12

ещё это попробуй: ifolder.ru/1714583" target="_blank">--> comparer AVC 1.2 <--
дерьмо конечно ещё то, но может алгоритм подойдёт (не проверял)

страница проекта


Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 17 апреля 2007 18:58 · Поправил: s0larian
· Личное сообщение · #13

seeq, a у тебя текстовые файлы? И изменения надо смотреть глазами или сохранять/посылать? Просто ещё есть классика с юникса - diff/patch, которые, ессно, есть под cygwin-ом и mingw.




Ранг: 105.9 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 17 апреля 2007 19:17
· Личное сообщение · #14

ответ автора ExamDiff:
there's no way to change the way ExamDiff Pro aligns the views.

s0larian
файлы текстовые, нужно смотреть глазами.



Ранг: 21.9 (новичок)
Активность: 0.020
Статус: Участник

Создано: 17 апреля 2007 19:51
· Личное сообщение · #15

Еще пару дней и можно писать свою тулзу для решения проблемы...




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 17 апреля 2007 20:13 · Поправил: Isaev
· Личное сообщение · #16

--> Тут <-- http://directory.google.com/Top/Computers/Software/File_Management/File_Comparison/Windows/ Несколько прог по теме...
А вообще странно, вроде Total Comander всегда корректно справлялся... не скинешь 2 файла для примера, на которых софт наёбывается?
В XP fc есть, может неудобно, но если будет работать можно на основе её результатов свою писать... Гемора меньше...

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 17 апреля 2007 20:32 · Поправил: s0larian
· Личное сообщение · #17

seeq, ещё вопрос (на всякий) у тебя не white space изменения? А то в araxis можно их игнорировать.

Енто, действительно, залей по куску из старого и нового файлов - интересно что там за изменения.




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 17 апреля 2007 21:09
· Личное сообщение · #18

Hex workshop сравнивает, вроде не плохо, текстовики тоже может сравнивать, хз подойдет или нет.

-----
may all your PUSHes be POPed!




Ранг: 21.9 (новичок)
Активность: 0.020
Статус: Участник

Создано: 17 апреля 2007 22:35
· Личное сообщение · #19

Действительно, если просто побайтовое сравнение нужно было то я использовал WinHex




Ранг: 170.1 (ветеран), 96thx
Активность: 0.090.01
Статус: Участник

Создано: 19 апреля 2007 08:43
· Личное сообщение · #20

seeq пишет:
Каждая программа находит в 2 практически одинаковых текстах, так называемые "вставленные куски"(естественно их там нет), соответственно дальше текст съезжает и сравнение идет неправильно.

вытекает из самого принципа работы LCS-алгоритма.
seeq пишет:
как видишь, мне нужно сравнивать текст блоками. они уже синхронизированы и идут друг напротив друга (это 2 лога с разными условиями). Да, блок может быть идентичными со следующим, вот поэтому все эти проги и сбиваются.

Нельзя ли разделить задачу на более простые подзадачи, решаемые различными инструментами:
1. Разбить файл на отдельные блоки (отдельными файлами) и организовать их попарное сравнение?
2. Отфильтровать (удалить) идентичные блоки еще до сравнения.




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 апреля 2007 19:27
· Личное сообщение · #21

seeq
Я вообще или пишу свои скрипты для таких простых целей, или вообще сравниваю по fc B-)

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 апреля 2007 12:42
· Личное сообщение · #22

seeq
Попробуй эту, давно пользуюсь
www.zsksoft.ru/ZFCSetup.exe



Ранг: 15.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 26 апреля 2007 13:35
· Личное сообщение · #23

Crawler ну раз это так просто то запостил бы сюда


 eXeL@B —› Основной форум —› Сравнение текстовых файлов (неожиданная проблема)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати