Интернет магазин китайских планшетных компьютеров



Компьютеры - Diff - Варианты

10 мая 2011


Оглавление:
1. Diff
2. Алгоритм
3. Варианты



Большинство реализаций diff остаются внешне неизменными с 1975 года. Модификации включают в себя улучшения основного алгоритма, добавление новых ключей команды, новые форматы вывода. Базовый алгоритм изложен в книгах An O Difference Algorithm and its Variations Юджина В. Майерса, и в A File Comparison Program Вебба Миллера и Майерса. Алгоритм был независимо открыт и описан в Algorithms for Approximate String Matching Е. Укконеном Первые версии программы diff были разработаны для сравнения строк текстовых файлов, использующий символ новой строки как разделитель строк. В 1980-х, поддержка двоичных файлов привела к изменениям в схеме работы и реализации программы.

Контекстный формат

В BSD версии 2.8 появился контекстный формат.

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

Вывод команды diff -c original new:

*** /path/to/original ''timestamp''
--- /path/to/new      ''timestamp''
***************
*** 1,3 ****
--- 1,9 ----
+ This is an important
+ notice! It should
+ therefore be located at
+ the beginning of this
+ document!
+
  This part of the
  document has stayed the
  same from version to
***************
*** 5,20 ****
  be shown if it doesn't
  change.  Otherwise, that
  would not be helping to
! compress the size of the
! changes.
!
! This paragraph contains
! text that is outdated.
! It will be deleted in the
! near future.
 
  It is important to spell
! check this dokument. On
  the other hand, a
  misspelled word isn't
  the end of the world.
--- 11,20 ----
  be shown if it doesn't
  change.  Otherwise, that
  would not be helping to
! compress anything.
 
  It is important to spell
! check this document. On
  the other hand, a
  misspelled word isn't
  the end of the world.
***************
*** 22,24 ****
--- 22,28 ----
  this paragraph needs to
  be changed. Things can
  be added after it.
+
+ This paragraph contains
+ important new additions
+ to this document.


Просмотров: 2530


<<< Электронные офисные системы