Из Википедии, бесплатной энциклопедии
  (Перенаправлено из сравнения данных )
Перейти к навигации Перейти к поиску
KDE дифф инструмент Kompare

В вычислении , сравнение файлов является вычисление и отображение различий и сходства между объектами данных, как правило , текстовые файлы , такие как исходный код .

Методы, реализацию, и результаты , как правило , называют дифференциалом , [1] после Unix diffутилиты . Выходные данные могут быть представлены в графическом пользовательском интерфейсе или использоваться как часть более крупных задач в сетях , файловых системах или управлении версиями .

Некоторые широко используемые программы сравнения файлов - это diff , cmp , FileMerge , WinMerge , Beyond Compare и File Compare .

Многие текстовые редакторы и текстовые процессоры сравнивают файлы, чтобы выделить изменения в документе.

Типы методов [ править ]

Большинство инструментов сравнения файлов находят самую длинную общую подпоследовательность между двумя файлами. Любые данные, не входящие в самую длинную общую подпоследовательность, представляются как вставка или удаление.

В 1978 году Пол Хекель опубликовал алгоритм, который определяет наиболее перемещаемые блоки текста. [2] Используется в инструменте IBM History Flow . [3] Другие программы сравнения файлов находят перемещения блоков. [ требуется разъяснение ]

Некоторые специализированные инструменты сравнения файлов находят самую длинную возрастающую подпоследовательность между двумя файлами. [4] Протокол rsync использует скользящую хеш- функцию для сравнения двух файлов на двух удаленных компьютерах с низкими издержками связи.

Сравнение файлов в текстовых процессорах обычно происходит на уровне слов, тогда как сравнение в большинстве инструментов программирования выполняется на уровне строк. Сравнение на уровне байтов или символов полезно в некоторых специализированных приложениях.

Показать [ править ]

Отображение сравнения файлов различается, при этом основные подходы заключаются либо в отображении двух файлов рядом, либо в отображении одного файла с разметкой, показывающей изменения от одного файла к другому. В любом случае, в частности, параллельный просмотр, сворачивание кода или сворачивание текста можно использовать, чтобы скрыть неизмененные части файла, показывая только измененные части.

Рассуждение [ править ]

Инструменты сравнения используются по разным причинам. Когда кто-то хочет сравнить двоичные файлы, вероятно, лучше всего использовать байтовый уровень. Но если кто-то хочет сравнить текстовые файлы или компьютерные программы , обычно лучше всего проводить параллельное визуальное сравнение. Это дает пользователю возможность решить, какой файл предпочтительнее сохранить, следует ли объединить файлы для создания файла, содержащего все различия, или, возможно, сохранить их оба как есть для дальнейшего использования с помощью некоторой формы " управление версиями.

Сравнение файлов - важная и, скорее всего, неотъемлемая часть синхронизации файлов и резервного копирования . В методологиях резервного копирования очень важна проблема повреждения данных . Коррупция происходит без предупреждения и без нашего ведома; по крайней мере, обычно до тех пор, пока не поздно восстановить недостающие части. Обычно единственный способ узнать наверняка, был ли файл поврежден, - это когда он будет использоваться или открыт в следующий раз. Если этого не сделать, нужно использовать инструмент сравнения, чтобы хотя бы распознать разницу. Следовательно, все программы синхронизации файлов или резервного копирования должны включать сравнение файлов, чтобы эти программы были действительно полезными и заслуживающими доверия.

Историческое использование [ править ]

До сравнения файлов существовали машины для сравнения магнитных лент или перфокарт. IBM 519 Card Репродуктор может определить , является ли колода перфокарт были эквивалентны. В 1957 году Джон Ван Гарднер разработал систему для сравнения контрольных сумм загруженных разделов программ Fortran для отладки проблем компиляции на IBM 704 . [5]

См. Также [ править ]

  • Сравнение инструментов сравнения файлов
  • Компьютерное рецензирование
  • Различие данных
  • Дельта-кодирование
  • Сравнение документов
  • Изменить расстояние

Ссылки [ править ]

  1. ^ "diff", Файл жаргона .
  2. ^ Heckel, Павел (1978), "Методика выделения различий между файлами" (PDF) , связь по АКМ , 21 : 264-268, DOI : 10,1145 / 359460,359467 , извлекаются 2011-12-04
  3. ^ Виегас, Фернанда Б.; Ваттенберг, Мартин; Kushal, Kushal Dave (2004), изучение сотрудничества и конфликтов между авторами с Визуализацией истории потока (PDF) , 6 , Вена:. CHI, стр 575-582 , извлекается 2011-12-01
  4. ^ Ливэй Рен; Цзиньшэн Гу; Луошэн Пэн (18 апреля 2006 г.). «Алгоритмы блочного выравнивания кода программных двоичных файлов» . Патенты Google . USPTO . Дата обращения 10 мая 2019 .
  5. ^ Джон Ван Гарднер. «Фортран и происхождение проекта Intercept» (PDF) . Проверено 6 декабря 2011 . Цитировать журнал требует |journal=( помощь )

Внешние ссылки [ править ]

  • Сравнение файлов в Curlie