Путеводитель по программам для сравнения данных. Программа для сравнения текстовых файлов Сравнение 2х файлов




Вам необходимо сравнить два текстовых документа и найти в них отличия? Тогда WinMerge то, что Вам требуется! Эта программа предложит открыть Вам два документа, которые необходимо сравнить. Сразу же после их открытия в специальной графе она подсветит те фрагменты текста, которые отличаются. Вносите необходимые изменения и сохраняйте документы прямо в программе.

WinMerge является объединенным и дифференцированым Open Source инструментом для Windows. Представленный softwear может сравнить две папки и два файла, определяя и показывая выделением различия, которые легко понять и обработать.

Предлагаемая программа является весьма полезной для определения того, что изменилось между версиями разрабатываемого проекта (например сайта), а затем она позволяет объединить изменения между версиями.

Особенности:

Общие

  • Поддержка Microsoft Windows 98/ME/2000/XP/2003/Vista/2008
  • Поддержка Windows, Unix и Mac форматов текстовых файлов
  • Поддержка юникода
  • Интерфейс со вкладками

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

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

Сравнение папок

  • Регулярные выражения, фильтры на основе файлов позволят исключить и в том числе пунктов
  • Быстрое сравнение, используя размеры файла и дату
  • Сравнивает одну папку или включает в себя все подпапки
  • Можно показать папку сравнить результаты в виде дерева стиле зрения

Управление версиями

  • Создает файлы исправлений (нормальный, контекстно-и единой форматы)
  • Подсказки цветом различия файлов
  • Интеграция Visual SourceSafe и Rational ClearCase

Другое

  • Shell интеграция (поддерживает 64-разрядные версии Windows)
  • поддерживает использование архивных файлов - 7-Zip
  • Поддержка плагинов
  • Локализуемый интерфейс

Бесплатная программа для сравнения файлов и каталогов WinMerge с удобным, ухоженным оформлением и с полезной и многофункциональной начинкой поможет быстро найти отличия в содержимом. Кроме этого, WinMerge умеет объединять файлы, создавать патч-файлы, визуально отображать изменения двух файлов и интегрируется в контекстное меню. Утилита включает поддержку архивов (при наличии дополнения 7-Zip), может определять тип архива по сигнатуре/заголовку файла, в программу встроена функция подсветки синтаксиса, сравнение файлов доступны различными методами (полный и быстрый по содержимому, по различиям в дате и размере), возможен поиск похожих строк.

Сравнение файлов по содержимому

Как найти отличия в файлах? В каком месте содержимое файлов изменено? Сравнить два файла, будь то исходный код программы или любой текстовый файл, вертя головой на два редактора и перемещая ползунок прокрутки то в одном, то в другом - задачу конечно решает, однако это совсем не удобно. WinMerge облегчает эту задачу, открывая содержимое файлов в соседних областях просмотра, выделяя цветом найденные различия. Инструменты WinMerge позволяют создавать отчеты по найденным отличиям в формате html, функция подсветки синтаксиса формирует отображение текста в 32 стилях среди которых Pascal, PHP, XML, HTML, JAVA, ASP, Perl и другие наиболее известные и распространенные.

Скриншоты WinMerge



Веб-мастерам или владельцам сайтов часто бывает необходимо сравнить два файла по содержимому. Из этой статьи вы узнаете как сравнить два файла между собой. Здесь описаны все известные мне способы для сравнения текстовых файлов и скрипты (html, css, php и так далее).

Способ 1. Meld

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

В Meld вы можете сравнивать два или три файла, либо два или три каталога. Вы можете просматривать рабочую копию из популярных систем контроля версий, таких, таких как CVS, Subversion, Bazaar-NG и Mercurial. Meld представлен для большинства linux дистрибутивов (Ubuntu, Suse, Fedora и др.), и присутствует в их основных репозиториях.

# aptitude install meld

Способ 2. Сравнение содержимого двух файлов в программе WinMerge.

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

После установки, открываете пункт меню «Файл» - «Открыть». Выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».

В WinMerge можно также редактировать файлы. После закрытия окна сравнения, программа предложит сохранить изменения в файлах.

Способ 3. diff

diff - утилита сравнения файлов, выводящая разницу между двумя файлами.

    Для сравнения каталогов используйте эту команду: $ diff -qr < current-directory> < backup-directory>

Способ 4. Kompare

Kompare - отображает различия между файлами. Умеет сравнивать содержимое файлов или каталогов, а также создавать, показывать и применять файлы патчей. Kompare - это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:

    Поддержка нескольких форматов diff;

    Поддержка сравнение файла linux и каталогов;

    Поддержка просмотра файлов diff;

    Настраиваемый интерфейс;

    Создание и применение патчей к файлам.

Способ 5. Сравнение файлов в программе Total Commander

    Поддерживаемые операционные системы: Windows

В Total Commander существует инструмент сравнения файлов по содержимому, где можно не только сравнить содержимое, но и редактировать его и копировать из одного файла в другой.

После запуска Total Commander – в одной из панелей выбираете (клавиша Insert) первый файл для сравнения – во второй панели открываете папку со вторым файлом и ставим на него курсор. Вызываем программу для сравнения: "Файлы→Сравнить по содержимому".

Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». В программе доступны функции копирования и отката, поиска и изменение кодировки. Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить изменения.

Способ 6. Сравнение файлов в Notepad++

    Поддерживаемые операционные системы: Windows, возможен запуск в Linux

Notepad++ не умеет сравнивать файлы. Для появления этого функционала в Notepad++ нужно установить плагин «Compare».

Запускаете редактор – переходите в пункт меню «Плагины» - «Plugin Manager» - «Show Plugin Manager». В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».

После установки плагина откройте два файла и выбирите меню «Плагины» - «Compare» - «Compare (Alt+D)». Результат сравнения файлов будет представлен в отдельных панелях. Напротив строк, в которых найдены отличия будет стоять предупреждающий знак.

Способ 7. Сравнение файлов с помощью командной строки Windows

Сравнение с помощью командной строки Windows (cmd.exe) не позволяет редактировать файлы, но просто сравнить содержимое файлов, используя этот способ, вы можете.

Для вызова командной строки Windows перейдите «Пуск» - «Все программы» - «Стандартные» - «Командная строка» или нажмите клавиш "Windows+R", введите cmd и нажмите клавишу Enter.

В командной строке введите команду:

fc / N путь к первому файлу путь ко второму файлу

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

В результате вы читаете вроде бы свое же интервью, но не узнаете его «в гриме». Сличать вручную два больших текста сложно – можно ли облегчить эту задачу? сайт подскажет, как.

Такие задачи достаточно часто встают перед программистами, поэтому программы для сравнения файлов умеют подсвечивать синтаксис при сравнении программных кодов различных языков программирования. Нам же нужно, чтобы такие программы позволяли сравнивать тексты в обычном формате.txt и желательно – в «вордовском».

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

Microsoft Word

В программе Microsoft Office начиная с версии 2007 сравнить два файла можно, не выходя из «ворда». Идем в пункт меню Рецензирование – Сравнить – Сравнить… (сравнение двух версий документа). Указываем два файла, жмем кнопку «Больше» и отмечаем параметры, по которым нужно сравнить текст, а также выбираем, где просматривать изменения: в первом файле, во втором или в новом.

Удаленный текст программа выделяет красным зачеркнутым текстом, вставленный текст – красным подчеркнутым, перемещенные абзацы – зеленым. В отдельной панели слева (на скриншоте ниже ее нет) можно отследить изменения по каждому слову, а также увидеть резюме: в нашем случае 57 исправлений, из них 26 вставок, 29 удалений, 2 перемещения.

WinMerge – это бесплатная кроссплатформенная утилита для сравнения файлов, ее можно использовать на богатом «зоопарке» операционных систем, начиная с Windows 98. Последняя версия – WinMerge 2.14.0 – существует как в виде инсталлятора (6,14 Мб), так и в виде портативной сборки . Программа «из коробки» может сравнивать только обычные текстовые файлы, а если мы хотим работать также с офисными документами (тексты в форматах.doc, .docx, .odt, таблицы в форматах.xls, .xlsx, .sxc, PDF-файлы и другие офисные файлы экзотических форматов), надо скачать плагин Xdocdiff . Подключается плагин следующим образом:

1) Распаковываем архив с плагином

2) Файлы xdoc2txt.exe и zlib.dll копируем в папку с установленной программой WinMerge

3) Папку MergePlugins вместе с файлом amb_xdocdiffPlugin.dll копируем целиком в папку с установленной программой WinMerge

4) Запускаем WinMerge, идем в меню Дополнения – Список, ставим галочку «Включить дополнения»

5) Идем в меню Дополнения – ставим галочку «Распаковка автоматически»

Все, теперь можно открывать два наших файла: хочешь - обычные «тээкстэшные», хочешь – «вордовские».

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

Но у программы есть множество настроек, так что несложно подсветить слова каким-нибудь другим цветом.

Программ для сравнения файлов, в том числе текстовых, немало, их основной недостаток – цена. Compare it! стоит 29$ за лицензию, Beyond Compare – 30$, Compare Suite - 70$, DiffDoc Professional - аж 399,95$. Посмотрим на примере этой последней, самой дорогой программы, насколько она лучше бесплатной WinMerge.

Скачиваем программу (7 мб), запускаем. Результат очень похож на тот, что нам выдал Microsoft Office 2007, только расположение колонок иное. Красный зачеркнутый – текст, который изменили, красный подчеркнутый – текст, на который был изменен исходный (красный зачеркнутый); синий зачеркнутый – вырезанный текст, зеленый – перемещенный (или добавленный «с нуля») текст.

Получается, что разницы практически нет. Если уж пользователь честно купил дорогой офисный пакет Microsoft, то тратить еще 400 долларов на официальную покупку и регистрацию этой программы смысла нет никакого. Даже «триальной» версией нет нужды пользоваться, если тот же самый функционал обеспечивает стандартный «Ворд», тем более что незарегистрированная версия DiffDoc Professional каждые 15 минут напоминает о необходимости покупки.

Наконец, проверим один из множества онлайн-сервисов для сличения текстов: DiffNow

Сервис вроде бы поддерживает загрузку doc-файлов, «проглотил» их, написал Files compared successfully («сравнение файлов прошло успешно»), но вместо нормального результата выдал бинарный набор нолей и единиц, в котором, правда, подсветил отличия. Поэтому лучше копировать и вставлять текст вручную. Сайт подсвечивает изменения так: коричневый – измененный текст, синий – удаленный, бордовый – добавленный, фиолетовый – измененные слова в измененных предложениях. Сервис поддерживает различные настройки (в том числе можно заменять цвета), но от одного недостатка мы никакими настройками избавиться не смогли: текст по-программистски вытянут в длину, приходится задействовать горизонтальный скроллинг.

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

Человеческая лень способна творить чудеса! Лень в хорошем смысле слова:). Ну, согласитесь, что нерезонно делать вручную рутинную работу, если есть возможность поручить ее компьютеру. Вот и сегодняшняя наша программа была найдена именно при попытке переложить на «плечи» ПК трудоемкий процесс по сравнению разных текстовых файлов.

А дело было так… Недавно мы с Русланом Богдановым переводили сайт на HTML5 с использованием разметки Schema.org . При этом приходилось часто сравнивать старую (еще не правленую) версию каждой странички с новой, в которой уже были внесены определенные правки.

И вот после пары часов работы в двух окнах Блокнота, мне пришла в голову мысль о том, что, должна быть программа для автоматического поиска различий в текстовых файлах. Сей вопрос был задан вездесущему Гуглу , и вот такая программа нашлась:). Называется она WinMerge .

Эта программа автоматически находит и отображает разницу в содержимом двух текстовых файлов, что позволяет сравнивать и править открытые документы намного быстрее, нежели при обычном визуальном поиске! По своим возможностям WinMerge лишь немного уступает платным конкурентам, таким, как, например, Compare Suite:

Сравнение с платным аналогом

Кроме того обе программы поддерживают множество кодировок (в том числе и Юникод), могут быть включены практически в любые системы контроля версий и позволяют сравнивать даже заархивированные документы (для поддержки WinMerge данной функции требуется установленный архиватор 7-ZIP и специальный плагин).

Установка WinMerge

Программа имеет две версии: обычный инсталлятор и portable-версию. Для работы с портативной Вам будет достаточно ее распаковать из архива и (при желании) запустить bat-файл (Register.bat ) для интеграции пунктов приложения в контекстное меню системы (вторым «батником» (UnRegister.bat ) можно убрать данный пункт).

В случае выбора Вами стандартного инсталлятора, Вам понадобится запустить его из скачанного архива и проследовать указаниям мастера установки. Со всеми предложениями можете соглашаться, нажимая «Далее», пока не попадете на экран выбора компонентов:

Здесь внимательно проверьте язык (-и), который выбран по умолчанию: он должен быть «Russian». Также можно установить дополнительные плагины, которые добавят несколько новых предфильтров в программу.

Следующим шагом, требующим Вашего вмешательства, будет окно выбора дополнительных задач:

По умолчанию WinMerge создает только ярлык на панели быстрого запуска и интегрируется в контекстное меню. Вы же можете еще создать ярлык на Рабочем столе (что, ИМХО, удобнее:)) и добавить папку программы в системные пути для быстрого доступа.

Сравнение текстовых файлов в WinMerge

После завершения установки запустится пустое окно WinMerge. Для начала работы Вам потребуется открыть пару файлов, которые подлежат сравнению. Это можно сделать, вызвав пункт «Открыть» из меню «Файл», или же, кликнув по одноименной кнопке на панели инструментов:

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

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

Окно WinMerge примет примерно такой вид:

Итак, что мы можем делать со всем этим:

  1. При помощи кнопок на панели инструментов (или же контекстного меню) Вы можете перемещаться по найденным отличиям и быстро копировать изменения из одного файла в другой.
  2. При помощи «Карты отличий» (окно «Местоположения») можно быстро оценить расположение отличий в разных документах. При этом на «карте» существует несколько цветных обозначений:
  • желтым - обозначается любое отличие в документах;
  • красным - обозначается выбранное отличие;
  • серым - обозначается отсутствующая часть кода в одном из документов.
  • При помощи окна «Отличия» Вы можете видеть часть кода, которая различается,. Править код здесь нельзя, но можно производить его копирование посредством функции в контекстном меню.
  • И, естественно, при помощи окон с открытыми документами мы можем осуществлять, как быстрое копирование фрагментов кода, так и полную его правку. По сути, перед нами обычный текстовый редактор, типа продвинутого Блокнота с подсветкой синтаксиса для множества языков программирования (причем цвета подсветки Вы можете настроить на свое усмотрение для каждого из языков в настройках)!
  • Советую также при работе с программой периодически обращать внимание на статусную строку в самом низу рабочего окна. В ней иногда можно видеть разнообразные подсказки, а также счетчик найденных отличий.

    По завершению работы с документами (или при необходимости) Вы можете сохранить, как оба редактируемых файла, так и только отдельные из них. Для этого зайдите в меню «Файл» и выберите соответственно пункт «Сохранить файл слева» или «Сохранить файл справа»:

    Настройка программы

    В принципе, после установки программа полностью готова к работе. Однако Вы можете несколько улучшить или изменить некоторые из ее функций. Первое, что можно сделать, это добавить себе удобства:). Сделать это можно, зайдя в меню «Вид» и активировав пункты «Показывать номера строк» и «Перенос по словам»:

    Это добавит перед панелью с кодом столбик с нумерацией строк, а сами строки теперь будут помещаться в любой размер панели за счет автоматического переноса текста (при этом структура строк полностью сохраняется)!

    В этом же меню Вы можете активировать и некоторые другие возможности (типа отображения непечатаемых символов и отступов табуляции), а также отключить любые элементы рабочего окна (например, можно отключить панель сравнения и/или «карту» отличий).

    Для некоторых языков программирования и программ в WinMerge существуют дополнения, позволяющие игнорировать те или иные параметры при сравнении файлов. Если при инсталляции программы Вы отмечали опцию установки плагинов, то найти эти возможности можно меню «Дополнения»:

    Здесь в разделе «Предсравнение» нам доступны дополнения для:

    • игнорирования комментариев;
    • игнорирования колонок (видимо для HEX);
    • игнорирования пунктуации;
    • игнорирования табуляции;
    • игнорирования номеров строк.

    Скажу честно, я этими плагинами не пользовался, поскольку мне вполне хватало стандартных способностей WinMerge, но кому-то они может и пригодятся;).

    Если Вам и этих возможностей программы мало, то Вы легко можете подстроить практически все в «Настройках»:

    «Заблудиться» в этих настройках можно в два счета, поскольку их очень много, но я обращу внимание только на те, которые нам могут пригодиться для дальнейшей работы.

    В первой группе настроек («Основные») я бы советовал активировать две опции: «Автоматически установить на первое отличие» (для большего удобства) и «Сравнения папок» в разделе «Включить окна множественного сравнения для». Последняя опция позволит открывать неограниченное количество вкладок со сравнениями при сличении папок (о котором мы поговорим чуть ниже).

    Следующие настройки, подлежащие изменению находятся в разделе «Сравнение»:

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

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

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

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

    Сравнение папок

    Кроме того, что в WinMerge мы можем автоматически сопоставлять файлы, мы можем еще и сравнивать папки, находя в них все измененные файлы! Однако специальной кнопки для открытия папки в программе не предусмотрено. Как же быть? Нам нужно в поле «Левый» указать любой файл из нужной нам директории, а затем убрать его имя, оставив только название папки:

    После такой манипуляции поле «Правый» автоматически переключится в режим «Выбор каталога» и нам останется только выбрать нужную папку.

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


    Теперь, если в «Настройках» Вы активировали опцию множественных вкладок при сравнении папок, то Вы можете открывать любые подпапки и файлы - их сравнение будет открываться в новой вкладке.

    Формирование отчетов

    Если Вы работаете в команде разработчиков или Вам нужно представить результаты своей работы третьим лицам, то Вам пригодится функция создания отчетов по результатам сравнения. Найти эту функцию можно в меню «Инструменты»:

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

    1. Список с разделяющими запятыми (простой текст, например, TXT-файл).
    2. Список с разделяющими табуляторами (тоже текстовый файл).
    3. Простой HTML (формат веб-страниц (на мой взгляд, самый удобный)).
    4. Простой XML (тоже лучше открывать в браузере, поскольку этот формат позволяет сворачивать ненужные ветки сравнений).

    Выбираем любой из стилей, а затем жмем «Обзор» и указываем в какую папку и под каким именем (а также, с каким расширением имени) сохранить отчет. Нажимаем «Ok» - радуемся:).

    Здесь же (в меню «Инструменты») Вы найдете еще несколько пунктов, которые придутся по вкусу разве что серьезным разработчикам. Это функции создания патчей и фильтрации содержимого файлов и каталогов.

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

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

    Достоинства и недостатки программы

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

    Выводы

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

    Если Вы работаете с текстами и Вам требуется часто сравнивать разные версии одного и того же документа, то WinMerge сможет существенно облегчить и ускорить Ваш труд. А ведь компьютер для того и создан, чтобы брать как можно больше рутины на себя, оставляя нам время для творчества;).

    P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.