Сравнение инструментов сравнения файлов
В этой статье сравниваются компьютерные программные используются для сравнения файлов инструменты, которые различных типов. Типы файлов, к которым обращаются отдельные приложения для сравнения файлов, различаются, но могут включать текст, символы, изображения, аудио или видео. Эту категорию программных инструментов часто называют «инструментом сравнения файлов» или «инструментом сравнения файлов», но по сути это эквивалентные термины, причем термин «diff» чаще всего ассоциируется с Unix-программой. diff
полезность .
Типичным элементарным случаем является сравнение одного файла с другим. Однако оно также может включать в себя сравнение между двумя совокупностями файлов, например, в случае сравнения каталогов или папок в рамках управления файлами . Например, это может быть сделано для обнаружения проблем с поврежденными резервными версиями набора файлов... или для проверки соответствия пакета файлов стандартам перед публикацией.
Обратите внимание, что сравнения должны проводиться между файлами одного и того же типа. Это означает, что текстовый файл нельзя сравнивать с изображением, содержащим текст, если сначала не будет выполнен процесс оптического считывания символов (OCR) для извлечения текста. Точно так же текст нельзя сравнивать с произнесенными словами, если произнесенные слова сначала не транскрибируются в текст. Кроме того, текст на одном языке нельзя сравнивать с текстом на другом, если он не переведен на язык другого.
Важным моментом является то, что два сравниваемых файла должны быть существенно похожими и, следовательно, не отличаться радикально. Даже разные версии одного и того же документа — если имеется много изменений из-за добавлений, удалений или перемещения контента — могут затруднить интерпретацию сравнения изменений файлов. Это предполагает частое сохранение версий важного документа, чтобы облегчить сравнение файлов.
Инструмент сравнения файлов «diff» — это жизненно важная утилита, экономящая время и трудозатраты, поскольку она помогает выполнять утомительные сравнения. Таким образом, это жизненно важная часть сложных процессов сравнения, используемых отдельными людьми, учеными, юристами, судебно-медицинскими экспертами и другими профессиональными начинаниями, чтобы выявить иногда труднообнаружимые различия, необходимые для обнаружения.
Эти виды использования включают в себя:
- Редактирование текстов, планов или рисунков.
- Редактировать изменения в медиа.
- Упущение указания на цитаты, цитаты, выдержки или примеры.
- Плагиат.
- Изменение юридических документов.
- Мошенничество .
- Подделка .
- Фейк или « дипфейк » для выдачи себя за другое лицо.
- Споры по поводу права собственности или кредита на совместные усилия.
- Хронология развития проекта или усилий.
- Обнаружение стеганографии (практика сокрытия данных на виду).
- Раскройте удаление водяных знаков .
- Преднамеренная порча .
- Идентификация граффити , татуировки или других культурных знаков с фирменным стилем.
- Непреднамеренное или случайное повреждение.
- Изменения здоровья живого существа.
- Оценка риска распространения структурных повреждений.
- Оценка под восстановление.
- Деградация из-за воздействия окружающей среды с течением времени, включая естественную энтропию (снижение с течением времени):
- Окисление.
- Воздействие дождя.
- Истирание от приносимого ветром песка.
- Выветривание в результате изменений температуры окружающей среды, например, вызванных циклами замерзания и оттаивания.
- Нестойкие (т.е. нестойкие) пигменты в картинах или печатных материалах из-за воздействия ультрафиолета.
- Воздействие вибрации, например, в промышленных процессах, происходит от движения транспортных средств.
Общий
[ редактировать ]Основная общая информация о программном обеспечении для сравнения файлов .
Имя | Создатель | ФОСС | Бесплатно | Дата первого публичного релиза | Год последней стабильной версии | Окна | Макинтош | Линукс | Другие платформы | Максимальный поддерживаемый размер файла |
---|---|---|---|---|---|---|---|---|---|---|
Вне всякого сравнения | Программное обеспечение для скутеров [1] | Нет; Собственный | Нет | 1996 | 19 июля 2024 г. (v5.0.1) | Да | Да | Да | > 2 ГБ (64 бита) | |
Сравнить++ | Кодовое программное обеспечение [2] | Нет; Собственный | Нет | 2010 | 17 июля 2016 г. (3.0.1.0b) | Да [3] | Нет | Нет | ||
разница , разница3 | АТ&Т | Да; 3-пункт BSD , 4-пункт BSD , CDDL , GPL, проприетарная лицензия | Да | 1974 | Нет | Да ( Mac OS X ) | Да | портирован на большинство платформ как часть SCCS | > 2 ГБ, но менее 64 бит | |
Затмение (сравнить) | Да; Публичная лицензия Eclipse | Да | 2004-07-21 | 28 сентября 2016 г. (4.6.1 (Неон.1)) | Да | Да | Да | Что-нибудь с Java | ||
Эдифф | Майкл Кифер [4] | Да; лицензия GPL | Да | 1994 | 2.81.4 | Да [а] | Да ( Mac OS X ) | Да | Что-нибудь с Emacs и diff | |
ЭкзаменДифф Про | ПрестоСофт [5] | Нет; Собственный | Нет | 1998 | 19 июля 2024 г. (сборка 15.0.1.8) | Да ( WinXP и выше) | Да (в Wine) | Да (в Wine) | ||
Дальний менеджер (сравнить) | Eugene Roshal (original); FAR Group | Да; Пересмотренная лицензия BSD | Да | 1996 | 2 февраля 2022 г. (v3.0, сборка 5959) | Да | Нет | Нет | Есть бета-версия Far2l, [6] форк FAR Manager v2 для Linux, который также работает на OSX/MacOS и BSD. | |
ФК | Майкрософт [7] | Нет; Собственный | Да; Часть ОС | 1987 | Да (ДВА) | Нет | Нет | |||
FileMerge (он же opendiff) | Apple Инк. | Нет; Собственный | Да; (часть инструментов разработчика Apple ) | 1993 г. (часть NEXTSTEP 3.2) [8] ) | 2014 (v2.8) | Нет | Да (Mac OS X) | Нет | ||
FreeFileSync [ данные отсутствуют ] | Зенджа | Да; лицензия GPLv3 | Да | 2008 | 23 октября 2023 г. (v13.2) | Да | Да | Да | ||
Гуффи SureMerge | Программное обеспечение Guiffy [9] | Нет; Собственный | Нет | 2000 | 07.05.2024 (v12.3) | Да | Да | Да | Что-нибудь с Java | > 2 ГБ |
IntelliJ IDEA (сравнить) | JetBrains [10] | Нет; Собственный | Нет | 2001 | 2019-08-20 (2019.2.1) | Да | Да | Да | ||
плагин jEdit JDiff | Различный [11] | Да; лицензия GPL | Да | 1998 | 2020-09-03 (5.6.0) | Да | Да | Да | Что-нибудь с Java | |
Лазарь Дифф | Лазарь (программное обеспечение) | Да; лицензия GPL | Да | 2000 | 2020-07-11 (2.0.10) | Да | Да | Да | FreeBSD | |
Слияние | Стивен Кеннеди [12] | Да; GPLv2+ | Да | 2002 | 2020-02-16 (3.20.2) | Да [13] | Да | Да | БСД , Солярис | |
Блокнот++ (сравнить) | Различный | Да; лицензия GPLv3 | Да | 2009 | 2015-01-06 (1.5.6.6) | Да [14] | Нет | Нет | ||
Perforce P4Merge | Перфорс | Нет; Собственный | Да | 2019 (2019.1/1815056) | Да | Да | Да | Сан Солярис | ||
Довольно разница | Остин Чейни [15] | Да; MIT-совместимый | Да | 2009 | 2019-09-02 (101.2.6) | Да ( Интернет ) | Да ( Интернет ) | Да ( Интернет ) | Node.js | |
Ткдифф | Ткдифф [16] | Да; GPLv2+ | Да | 2003 г. (или раньше) | 24 марта 2021 г. (v5.2.1) | Да ( Ткл ) | Да (Ткл) | Да (Ткл) | Что-нибудь с Tcl | |
Тотал Коммандер (сравнить) | Кристиан Гислер [17] | Нет; Собственный | Нет | 25 марта 2020 г. (v9.51) | Да | Нет | Нет | |||
twdiff (Помощник по различиям TextWrangler) [ данные отсутствуют ] | Bare Bones Software, Inc. [18] | Нет; Собственный | Да; с TextWrangler | 2012 (1.0 (v22)) | Нет | Да | Нет | Нет | ||
вимдифф | Брэм Муленаар и др. | Да; GPL-совместимый [19] | Да | 2001 | 03.10.2016 (v8.0.0022) | Да | Да | Да | Что-нибудь с vim | |
WinDiff | Майкрософт [20] | Нет; Собственный | Да; Часть SDK платформы | 1992 | 14 мая 2010 г. (v6.1.7716.0) | Да | Нет | Нет | Нет | |
WinMerge | Дин Гримм [21] | Да; лицензия GPL | Да | 1998 | 27 января 2022 г. (v2.16.18) | Да ( Win95 и выше) | Да (в вине [22] ) | Да (в вине [22] ) | 2 ГБ | |
KDiff3 [ данные отсутствуют ] (часть KDE SDK, [23] а также плагин к файловому менеджеру KDE Dolphin) [24] [25] | Йоахим Эйбл и команда KDE SDK KDiff3 [26] | Да, лицензия GPL v2. | Да | <2004 г. (v0.9.86) | 13 января 2023 г. (v1.10) | Да, как часть сайта загрузки KDevelop KDE SDK или из магазина Windows или сайта загрузки KDE (самая последняя версия) как отдельное приложение. | Да. Можно загрузить с сайта загрузки KDE SDK или как отдельное приложение с сайта загрузки KDE. | Да. Установите из репозиториев дистрибутива Linux или как AppStream , из [1] или как GIT-проект KDE Gitlab. [27] или с/на [2] . [28] | Любой другой Unix с KDE/KF5, Qt5 и CMake, например FreeBSD. [29] и NetBSD [30] | ? |
Имя | Создатель | ФОСС | Бесплатно | Дата первого публичного релиза | Год последней стабильной версии | Окна | Макинтош | Линукс | Другие платформы | Максимальный поддерживаемый размер файла |
Сравнить возможности
[ редактировать ]Имя | Показать встроенные изменения | Сравнение каталогов | Бинарное сравнение | Перемещенные линии | трехстороннее сравнение | Объединить | Структурированное сравнение [б] | Ручное сравнение выравнивания | Сравнение изображений |
---|---|---|---|---|---|---|---|---|---|
Вне всякого сравнения | Да | Да | Да | Да | Да (файлы и папки) | Да (только Pro) | Да | Да | |
Сравнить++ | Да | Да | Да | Да | Да (C/C++,C#,Java,Javascript,CSS3) | ||||
разница | Нет | Да | частично | Нет | Нет | Нет | |||
разница3 | Нет | Нет | Да (необязательно) | ||||||
Затмение (сравнить) | Да | Нет (только предок) | Да | Нет | |||||
Эдифф | Да | Да | Да | Да | Да | ||||
ЭкзаменДифф Про | Да | Да | Да | Да [31] | Да (только ExamDiff Pro Master) [32] | Да | ручная синхронизация | ||
Дальний менеджер (сравнить) | Да (через плагин) [33] | Да | Да | Да (через плагин) [33] | Нет | Нет | |||
ФК | Нет | Нет | Да | Нет | Нет | ||||
FileMerge (он же opendiff) | Да | Да | Да | Да (необязательный предок) | Да | ||||
Гуффи SureMerge | Да | Да | Да | Да | Да | Да | Да | ||
IntelliJ IDEA (сравнить) | Да | Да | Да | Нет | Да | Да | Да | Да | |
плагин jEdit JDiff | Да | Нет | Да | ||||||
Лазарь Дифф | |||||||||
Слияние | Да | Да | Нет | Нет | Да | Да | выравнивание строк, отсоединить прокрутку | ||
Блокнот++ (сравнить) | Да | Нет | Нет | Да | Нет | Нет | Нет | ||
Perforce P4Merge | Да | Нет | Нет | Да | Да | Да | |||
Довольно разница | Да | Да | Нет | Нет | Нет | Нет | Да | Нет | |
Ткдифф | Да | Нет | Нет | Нет | Нет | Нет | |||
Тотал Коммандер (сравнить) | Да | Да | Да | Нет | Нет | Да | Нет | повторная синхронизация сравнения | Нет |
вимдифф | Да | Да (через плагин DirDiff) | Да | Да | |||||
WinDiff | Да | Да | Да | Да | Нет | Нет | |||
WinMerge | Да | Да | Да | Да (через опции) | Да | Да | Да | Да | |
Имя | Показать встроенные изменения | Сравнение каталогов | Бинарное сравнение | Перемещенные линии | трехстороннее сравнение | Объединить | Структурированное сравнение [б] | Ручное сравнение выравнивания | Сравнение изображений |
API/возможности редактора
[ редактировать ]Имя | графический интерфейс | интерфейс командной строки | Сценарии | Горизонтальный/вертикальный | Подсветка синтаксиса | Отчеты |
---|---|---|---|---|---|---|
Вне всякого сравнения | Да | Да | Да | Оба | Да | XML, HTML, CSV, текст, исправление Unix |
Сравнить++ | Да | Да | Оба | Да | HTML, текст (комбинированный или параллельный) | |
разница | Нет | Да | Горизонтальный | Да, трубка для выделения различий [34] | ||
разница3 | Нет | Да | Горизонтальный | |||
Затмение (сравнить) | Да | Вертикальный | Да | |||
Эдифф | Да | Да | элисп | Оба | Да | |
ЭкзаменДифф Про | Да | Да | необязательный | Да | UNIX, HTML, разница | |
Дальний менеджер (сравнить) | Да | Да | Да | Да | Нет | |
ФК | Нет | Да | Горизонтальный | |||
FileMerge (он же opendiff) | Да | Да | Вертикальный | Да | Нет | |
Гуффи SureMerge | Да | Да | Java API | Оба | Да | HTML, текст, исправление Unix |
IntelliJ IDEA (сравнить) | Да | Да | Вертикальный | Да | ||
плагин jEdit JDiff | Да | Оба | Да | |||
Лазарь Дифф | Да | Да | ||||
Слияние | Да | Нет | Да | Нет | ||
Блокнот++ (сравнить) | Да | Да | Оба | Да | Нет | |
Perforce P4Merge | Да | Да | Вертикальный | Да | Нет | |
Довольно разница | Да | Да | JavaScript | Оба | Да | XHTML |
Ткдифф | Да | |||||
Тотал Коммандер (сравнить) | Да | Оба | Нет | Нет | ||
вимдифф | Да | Да | vim-скрипт | Оба | Да | HTML |
WinDiff | Да | Да | Горизонтальный | Нет | Текст | |
WinMerge | Да | Да | Оба | Да | CSV, с разделителями-табуляцией, HTML, XML | |
Имя | графический интерфейс | интерфейс командной строки | Сценарии | Горизонтальный/вертикальный | Подсветка синтаксиса | Отчеты |
Другие особенности
[ редактировать ]Некоторые другие функции, которые не попали в предыдущую таблицу.
Имя | Поддержка ZIP | Поддержка FTP | Поддержка SFTP | Просмотр контроля версий | Создание патчей | Патч приложения | Предварительный просмотр патча | Поддержка Юникод | поддержка XML |
---|---|---|---|---|---|---|---|---|---|
Вне всякого сравнения | Да | Да | Да | СВН | Да | Да | Да | Да | |
Сравнить++ | SVN, CVS, Git, Microsoft TFS, Perforce, VSS с использованием командной строки | Да | |||||||
разница | Нет | Нет | Нет | Да | Да, с патчем | Да, с патчем | Нет | Нет | |
разница3 | Нет | Нет | Нет | ||||||
Затмение (сравнить) | Да, CVS , Subversion , Git , Mercurial , Baazar | Да | |||||||
Эдифф | Да | Да | RCS, CVS, SVN, Mercurial, git (все, что поддерживается режимом VC Emacs) [35] | Да | Да | Да | |||
ЭкзаменДифф Про | Да [36] | Да [37] | только обычный дифференциал | Да | |||||
Дальний менеджер (сравнить) | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | |
ФК | Нет | Нет | Нет | ||||||
FileMerge (он же opendiff) | Нет | поддерживается ОС | Нет | Нет | Нет | ||||
Гуффи SureMerge | Да | Да | Да | Да | Да [с] | ||||
IntelliJ IDEA (сравнить) | Да | Да | Да | Да | Да | Да | Да | Да | |
плагин jEdit JDiff | Да | Да | Да | Да | Да | Да | Да | ||
Лазарь Дифф | |||||||||
Слияние | CVS , Subversion , Git , Mercurial , Baazar | Да | Да | ||||||
Блокнот++ (сравнить) | Нет | Да [38] | Git, Subversion (сравнить с базой) | Нет | Нет | Нет | Да | Нет | |
Perforce P4Merge | Нет | Да | |||||||
Довольно разница | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Да |
Ткдифф | Нет | Нет | CVS, RCS, Subversion | Нет | Нет | Нет | Нет | Нет | |
Тотал Коммандер (сравнить) | Да | Да | Да | Нет | Нет | Нет | Нет | Да | Нет |
вимдифф | Да | Да | Да | Да | |||||
WinDiff | Нет | Нет | Нет | Нет | |||||
WinMerge | Да | Нет | Меркуриальный, [39] Подрывная деятельность, [40] Visual Source Safe, Rational ClearCase [41] | Да | Да | ||||
Имя | Поддержка ZIP | Поддержка FTP | Поддержка SFTP | Просмотр контроля версий | Создание патчей | Патч приложения | Предварительный просмотр патча | Поддержка Юникод | поддержка XML |
Аспекты
[ редактировать ]Какие аспекты можно/сравнивают?
Имя | Регистр имени файла | КПР | Дата файла | Летнее время | Корпус символов |
---|---|---|---|---|---|
Вне всякого сравнения | Да | Да | Да | Да | Да |
Сравнить++ | Да | Да | Да | Да | |
разница | Да | Нет | Нет | Нет | Необязательный |
разница3 | |||||
Затмение (сравнить) | |||||
Эдифф | |||||
ЭкзаменДифф Про | Нет | Да | Да | Да | Да |
Дальний менеджер (сравнить) | Да | Нет | Да | Нет | Да |
ФК | Нет | Необязательный | |||
FileMerge (он же opendiff) | Нет | Нет | Нет | Необязательный | |
Гуффи SureMerge | зависит от файловой системы | Да | Да | ||
IntelliJ IDEA (сравнить) | |||||
плагин jEdit JDiff | |||||
Лазарь Дифф | |||||
Слияние | |||||
Блокнот++ (сравнить) | Нет | Нет | Нет | Да | |
Perforce P4Merge | — | Нет | Нет | Нет | Да |
Довольно разница | — | Нет | Нет | Нет | Необязательный |
Ткдифф | |||||
Тотал Коммандер (сравнить) | Необязательный | Да (только при синхронизации) | Необязательный | ||
вимдифф | Нет | Нет | Нет | Нет | Да |
WinDiff | Нет | Нет | когда разные | Да | Необязательный |
WinMerge | Нет | Нет | Необязательный | Необязательный | |
Имя | Регистр имени файла | КПР | Дата файла | Летнее время | Корпус символов |
Эффекты часового пояса
[ редактировать ]Когда файлы передаются через часовые пояса и между Microsoft FAT и NTFS файловыми системами , временная метка, отображаемая одним и тем же файлом, может измениться, поэтому идентичные файлы с разной историей хранения считаются разными компаратором, который требует совпадения временных меток. Разница составляет точное количество четвертей часа до 95 (те же минуты по модулю 15 и секунды), если файл транспортировался по зонам; существует также разница в один час внутри одной зоны, вызванная переходом между стандартным временем и летним временем (DST). Некоторые, но не все, программы сравнения и синхронизации файлов можно настроить так, чтобы они игнорировали разницу в летнее время и часовых поясах. [д] Программное обеспечение, которое, как известно, имеет компенсацию перехода на летнее время, отмечено в таблице «Аспекты» .
См. также
[ редактировать ]- Сравнение файлов
- Синхронизация файлов
- Сравнение программного обеспечения для синхронизации файлов
- Список программ для клонирования дисков
- Сравнение программ для клонирования дисков
- Сравнение шестнадцатеричных редакторов
Примечания
[ редактировать ]- ^ Для работы Ediff требуется утилита diff . По состоянию на декабрь 2017 года diff не входит в состав Emacs или Windows, поэтому для использования Ediff в среде Windows требуется установка как Emacs, так и реализации diff, такой как GNU diff.
- ^ Перейти обратно: а б Сравните логические разделы (класс, методы).
- ^ UTF8, UTF16, MBCS, SJIS, более 150 форматов кодировок файлов и наборов символов.
- ^ Пример: Справка «Beyond Compare» описывает пользовательскую настройку «Разница в часовых поясах — игнорирует разницу в метках времени, кратную точному часу».
Ссылки
[ редактировать ]- ^ Программное обеспечение для скутера
- ^ «Код Программное обеспечение» . Архивировано из оригинала 21 декабря 2018 г. Проверено 13 декабря 2020 г.
- ^ Сравните++ Информация об операционной системе
- ^ Майкл Кифер
- ^ ПрестоСофт
- ^ «Фар2л» . Гитхаб . 26 июля 2022 г.
- ^ Майкрософт
- ^ Маркетинг продуктов NeXT (осень 1993 г.). «Что нового в версии 3.2?» . СЛЕДУЮЩИЙ ШАГ в фокусе . 3 (4). Компания NeXT Computer, Inc. Проверено 18 июля 2014 г.
- ^ Программное обеспечение Guiffy
- ^ ДжетБрэйнс
- ^ джедит.орг
- ^ Стивен Кеннеди
- ^ Объединение/Окна
- ^ Плагин сравнения Notepad++
- ^ Довольно разница
- ^ tkdiff
- ^ Кристиан Гислер
- ^ Bare Bones Software, Inc.
- ^ лицензия ВИМ
- ^ Майкрософт
- ^ Дин Гримм
- ^ Перейти обратно: а б WinMerge в Wine
- ^ «Страница проекта KDE SDK» . KDE Invent: KDE SDK . Проверено 9 марта 2023 г.
- ^ «KDiff3» . KDE-приложения . Проверено 9 марта 2023 г.
- ^ «Справочник KDiff3» . docs.kde.org . Проверено 9 марта 2023 г.
- ^ «KDE KDiff3» . Проверено 9 марта 2023 г.
- ^ «KDevelop / KDevelop · GitLab (полный проект KDevelop)» . ГитЛаб . Проверено 9 марта 2023 г.
- ^ «Использование KDiff3 в качестве инструмента сравнения и слияния Git» . docs.kde.org . Проверено 9 марта 2023 г.
- ^ «FreeBSD/Настройка/Порты — Wiki сообщества KDE» . сообщество.kde.org . Проверено 9 марта 2023 г.
- ^ "pkgsrc.se | Коллекция пакетов NetBSD" . pkgsrc.se . Проверено 9 марта 2023 г.
- ^ Экзамендифф
- ^ Экзамендифф
- ^ Перейти обратно: а б Визуальное сравнение
- ^ «Git/Contrib/Diff-выделение в мастере · git/Git» . Гитхаб .
- ^ gnu.org Поддержка контроля версий
- ^ через плагин
- ^ через плагин
- ^ FTP-плагин Notepad++.
- ^ "tortoisehg/stable/wiki/FAQ —" . Bitbucket.org. Архивировано из оригинала 15 июля 2010 г. Проверено 6 июля 2010 г.
- ^ «Использование WinMerge с другими инструментами – Руководство по WinMerge 2.12» . Winmerge.org. Архивировано из оригинала 10 июля 2010 г. Проверено 6 июля 2010 г.
- ^ "О" . WinMerge. Архивировано из оригинала 3 июля 2010 г. Проверено 6 июля 2010 г.