Jump to content

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

(Перенаправлено из Сравнение данных )
Инструмент KDE сравнения Kompare

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

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

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

Типы методов

[ редактировать ]

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

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

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

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

Отображать

[ редактировать ]

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

Наиболее популярные способы отображения изменений — это параллельное представление или объединенное представление, в котором выделяются вставки и удаления данных. При параллельном просмотре, сворачивании кода или сворачивании текста в целях эффективности интерфейс может скрывать части файла, которые не менялись, и отображать только изменения. [ нужны разъяснения ]

Рассуждение

[ редактировать ]

Существуют различные причины для использования инструментов сравнения, и сами инструменты используют разные подходы. Для сравнения двоичных файлов инструмент может использовать сравнение на уровне байтов. При сравнении текстовых файлов или компьютерных программ многие инструменты используют параллельное визуальное сравнение. [5] Это дает пользователю возможность выбрать, какие изменения сохранить или отклонить, прежде чем объединять файлы в новую версию. [6] Или, возможно, сохранить их оба как есть для дальнейшего использования с помощью некоторой формы контроля версий.

Сравнение файлов — важный и неотъемлемый процесс синхронизации файлов и резервного копирования . проблема повреждения данных В методологиях резервного копирования важна . Предупреждение о повреждении появляется редко, это может затруднить или сделать невозможным восстановление. Часто проблема проявляется только тогда, когда кто-то в следующий раз пытается открыть файл. В этом случае инструмент сравнения может помочь выявить возникновение проблемы. [7]

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

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ "diff", Файл жаргона
  2. ^ Хекель, Пол (1978), «Методика изоляции различий между файлами» (PDF) , Communications of the ACM , 21 (4): 264–268, doi : 10.1145/359460.359467 , S2CID   207683976 , получено 4 декабря 2011 г.
  3. ^ Вьегас, Фернанда Б.; Ваттенберг, Мартин; Кушал, Кушал Дэйв (2004), Изучение сотрудничества и конфликтов между авторами с помощью визуализаций потока истории (PDF) , том. 6, Вена: CHI, стр. 575–582 , получено 1 декабря 2011 г.
  4. ^ Ливэй Рен; Цзиньшэн Гу; Луошэн Пэн (18 апреля 2006 г.). «Алгоритмы блочного выравнивания кода программных двоичных файлов» . Гугл Патенты . ВПТЗ США . Проверено 10 мая 2019 г.
  5. ^ Маккензи, Дэвид; Эггерт, Пол; Столлман, Ричард (2003). Сравнение и объединение файлов с помощью Gnu Diff и Patch . Сетевая теория. ISBN  978-0-9541617-5-0 .
  6. ^ «Программа сравнения файлов: vc-dwim и vc-chlog» . www.gnu.org . Проверено 16 апреля 2023 г.
  7. ^ «SystemRescue — Домашняя страница восстановления системы» . www.system-rescue.org . Проверено 16 апреля 2023 г.
  8. ^ Джон Ван Гарднер. «Фортран и возникновение проекта Intercept» (PDF) . Проверено 6 декабря 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c5376ea3de9884416cd594fdb6cf8e84__1712694720
URL1:https://arc.ask3.ru/arc/aa/c5/84/c5376ea3de9884416cd594fdb6cf8e84.html
Заголовок, (Title) документа по адресу, URL1:
File comparison - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)