Как найти различия в двух текстовых файлах. Как сравнить содержимое двух файлов. Сравнение двух файлов в программе Total Commander


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

Существует прекрасная программа для работы с файлами. Называется она Notepad++. Вот в ней то и есть удобная возможность быстро сравнить два файла.

Сравнение двух файлов в программе Notepad++

Сразу хочу сказать, что в программе Notepad++ можно сравнивать многие файлы, и html, и php, и js. А вот вордовские файлы корректно сравнить не получается, не подходит их кодировка для этой программы. Сравнивать эти файлы будет в самом Ворде, это мы рассмотрим ниже.

Открываем те файлы, которые хотим сравнить.

Для начала сравнения, нам надо запустить плагин Campare. Для этого идем во вкладочку Плагины– Campare – Campare.

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

Если этот плагин в вашей версии Notepad++ ещё не установлен, сделать это легко. Идем в Плагины– Plugin Manager – Show Plugin Manager. Там из общего списка плагинов выбираем Campare, ставим галочку напротив и жмём кнопочку Install.

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

Различия в содержимом файлов в Notepad

Для выхода из режима сравнения надо нажать либо горячие клавиши Ctrl + Alt + D, либо вкладкуПлагины – Campare – Clear Results.

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

Сравнение двух файлов в программе Total Commander

Открываем программу Total Commander

Кликаем на нужный файл и с зажатой кнопкой Ctrl кликаем по второму файлу для сравнения. Оба файла выделяются на общем фоне.

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

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

Различия в файлах в Total Commander

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

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

Вот и все, опять же, удобно, быстро, понятно.

Ну и в заключении, надо рассмотреть то, как можно сравнивать Вордовские файлы. Там своя кодировка, поэтому, лучше всего, для этого подойдёт программа Word.

Сравнение двух файлов в программе Microsoft Word

Открываем программу Microsoft Word

Находим вкладочку Рецензирование, выбираем её, ищем пункт Сравнить.

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

Открывается новое окно Сравнение версий, где и надо выбрать Исходный документ и Документ для сравнения. Жмём ОК. Можно, при желании посмотреть дополнительные настройки сравнения.

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

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

Команда FC позволяет сравнить содержимое двух или нескольких файлов.

Формат командной строки:

FC ] [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2

Или
FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2

/A - Вывод только первой и последней строк для каждой группы различий.

/B - Сравнение двоичных файлов.

/C - Сравнение без учета регистра символов.

/L - Сравнение файлов в формате ASCII.

/Lbn - Максимальное число несоответствий для заданного числа строк.

/N - Вывод номеров строк при сравнении текстовых файлов ASCII.

/OFF - Не пропускать файлы с установленным атрибутом "Автономный".

/T - Символы табуляции не заменяются эквивалентным числом пробелов.

/U - Сравнение файлов в формате UNICODE.

/W - Пропуск пробелов и символов табуляции при сравнении.

/nnnn - Число последовательных совпадающих строк, которое должно встретиться после группы несовпадающих.

[диск1:][путь1]имя_файла1 - Указывает первый файл или набор файлов для сравнения.

[диск2:][путь2]имя_файла2 - Указывает второй файл или набор файлов для сравнения.

Для получения краткой справки используется параметр /? : FC /?

Если в командной строке не задан параметр /B то сравнение выполняется построчно, с выводом результатов в виде имен файлов и несовпадающих строк:

Сравнение файлов FILE1.TXT и FILE2.TXT

***** FILE1.TXTline

Line1
line2
head

***** FILE2.TXT

Строка1
строка2
head
*****

В приведенном примере не совпало содержимое первых 2-х строк в файлах FILE1.TXT и FILE2.TXT. Кроме не совпавших строк, в результатах сравнения отображается первая совпавшая после них строка (head )

Если выполняется команда сравнения двоичных файлов FC /B , то независимо от формата данных, выполняется побайтное сравнение с выдачей результатов в виде:

Сравнение файлов file1.txt и file2.txt

00000001: 6C 31
00000002: 69 44
Строка 00000001: 6C 31 - означает, что смещение от начала файла равно 00000001 . В файле file1.txt поданному смещению находится байт с шестнадцатеричным значением 6C , а в файле file2.txt - 31

Примеры использования FC.EXE:

fc /b etalon.exe C:\windows\system32\notepad.exe - сравнить двоичный файл etalon.exe из текущего каталога с файлом C:\windows\system32\notepad.exe

fc /b D:\windows\system32\dllcache\*.exe D:\windows\system32\*.* | more - сравнить группы двоичных файлов с расширением exe из каталога D:\windows\system32\dllcache\ с файлами из каталога D:\windows\system32\ . Благодаря использованию команды FC в цепочке с командой more , выдача результатов на экран выполняется в постраничном режиме.

fc C:\Documents\*.txt D:\documents\*.* > C:\compare.txt - сравнить текстовые файлы в разных каталогах с записью результатов в файл C:\compare.txt.

FC /LB2 C:\Documents\*.txt D:\documents\*.* > C:\compare.txt - как и в предыдущем случае, но в результатах сравнения будут отображаться не более 2-х несовпадений.

Параметр /nnn позволяет управлять продолжением выполнения сравнения файлов. Например, имеется 2 текстовых файла file1.txt и file2.txt, в которых 1-я и 4-я строки различаются, а 2-я и 3-я - совпадают. В зависимости от значения /nnn утилита FC.EXE может либо прекратить дальнейшее сравнение файлов, либо продолжить:

FC /2 file1.txt file2.txt - после первой не совпавшей строки имеются 2 совпавшие (2-я и 3-я строки - одинаковые) - сравнение файлов будет продолжено.

FC /3 file1.txt file2.txt - параметр /3 требует наличия 3- х совпадающих строк после несовпадения, поэтому дальнейшее сравнение файлов будет прекращено.

FC /A /L /C file1.txt file2.txt - выполнить сравнение текстовых файлов в формате ASCII , без учета регистра символов, с отображением только первой и последней строк для каждой группы различий.

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

По результату выполнения операции сравнения, переменная ERRORLEVEL может принимать следующие значения:

0 - файлы совпали.

1 - файлы не совпали

2 - ошибка открытия файла (файл не найден)

Пример командного файла:

@echo off
fc file1.txt file2.txt > nul
if ERRORLEVEL 1 goto Different
echo Файлы совпадают
REM подпрограмма, выполняющаяся при совпадении файлов. . .
exit
:Different
echo Файлы НЕ совпадают
REM подпрограмма, выполняющаяся при различии файлов. . .

Compare – один из самых полезных плагинов . И если у вас возникла необходимость сравнить 2 файла в Notepad++, compare это то, что вам нужно.

Для того, что бы осуществить сравнение файлов в notepad++ проверим, установлен ли плагин. Для этого откроем закладку плагины. Если он не установлен, идем в Менеджер плагинов: Плагины — Менеджер плагинов — Compare — Установить. После установки плагина редактор перезагрузится.

В notepad ++ сравнение файлов осуществляется довольно просто: открываем два файла, которые необходимо сравнить, нажимаем Ctrl+Alt+1 или выполняем действие в меню.

После этого у нас появляются три участка окна: первый файл, второй и Compare NavBar в котором графически отмечаются различия в документах, если таковые имеются. Таким образом мы сравнили два файла редактором Notepad++.

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

Вам необходимо сравнить два текстовых документа и найти в них отличия? Тогда 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
  • Поддержка плагинов
  • Локализуемый интерфейс

Бесплатные решения

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

В путеводитель вошли 10 программ, которые можно назвать во многом универсальными: они не привязаны к определенному сервису или приложению, позволяют выполнять вышеназванные (и менее специализированные) задачи не только через графический интерфейс, но и в режиме командной строки.

Критерии сравнения выглядят следующим образом:

  • Интерфейс: поддержка режимов отображения, сохранение сессий, возможности настройки панели инструментов, колонок
  • Функциональность текстового редактора, работа с исходным кодом
  • Методы слияния и синхронизации, возможность трехстороннего сравнения
  • Экспорт отчетов, создание патчей (diff)
  • Дополнительные функции: интеграция со сторонними приложениями, поддержка расширений, протоколов и др.

SmartSynchronize

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

Режимы сравнения представлены в приветственном окне программы. Помимо диалога выбора файлов, здесь возможен просмотр истории и выбор сохраненного профиля. Также в настройках (Preferences) настраиваются фильтры: файловые — для отсеивания файлов по названию и расширению, и фильтры директорий — позволяют составить список исключений.

Для сравнения файлов используется двухпанельный режим side-by-side с синхронной прокруткой содержимого обеих панелей. Условных обозначений в SmartSynchronize немного, но, благодаря соединительным линиям (linking lines), операции сравнения и слияния очень интуитивны. SmartSynchronize указывает, куда и в каком направлении будет добавлен участок из одного файла в другой. Вставка текста производится одним кликом, позволяя обойтись без контекстного меню.

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

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

В режиме сравнения директорий выводится список файлов и статус для каждого из них, в нижней части окна доступен предосмотр. Метод сравнения — по содержимому или только по размеру и времени — определяется в настройках Edit → Preferences. Количество информационных колонок (тип файла, дата) нельзя увеличить, хотя отключить имеющиеся можно.

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

Помимо вышеупомянутых, имеется дополнительный, трехсторонний метод слияния — 3-Way-Merge, который позволяет объединить различия между несколькими версиями файлов, причем каждый из трех документов можно редактировать независимо друг от друга.

Функции сравнения, несомненно, востребованы программистами при контроле версий. Поэтому в заключение стоит сослаться на альтернативное решение этой же компании — . Программа представляет собой CVS-клиент с интегрированным инструментарием SmartSynchronize.

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

[+] Трехстороннее слияние
[+] Удобный текстовый редактор
[−] Отсутствие документации
[−] Невозможность синхронизации удаленных каталогов и архивов

WinMerge

WinMerge — программа для сравнения и объединения файлов и каталогов в ОС Windows. Ее можно использовать как отдельный инструмент либо в связке с проектами. В WinMerge встроен текстовый редактор с поддержкой языков программирования, подсветкой и нумерацией строк.

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

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

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

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

WinMerge позволяет выполнять одни и те же задачи разными способами — в том числе, с помощью перетаскивания или через контекстное меню Проводника. Можно создавать проекты для быстрого доступа к данным и настройкам. WinMerge работает в режиме командной строки, также программу можно использовать в связке с системами контроля версий (TortoiseSVN, Visual Studio, Rational ClearCase и т. п.).

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

[+] Поддержка расширений
[+] Функциональный редактор
[+] Интеграция со сторонними приложениями
[−] Нет трехстороннего сравнения

Meld

Meld — кроссплатформенная программа (OS X, Linux, Windows) для синхронизации файлов и директорий. С ее помощью осуществляется как двух-, так и трехстороннее сравнение. Прежде всего, инструментарий Meld будет полезен разработчикам, так как возможна интеграция с системами управления версиями: Git, Bazaar, Mercurial, Subversion и прочими.

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

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

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

Разработчикам будет интересен третий режим работы приложения — Version Control View. Meld поддерживает интерфейс командной строки, поэтому предусмотрена интеграция со средами Git, Bazaar, Mercurial, Subversion и многим другими.

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

[+] Трехстороннее сравнение
[+] Поддержка систем контроля версий
[−] Медленная и нестабильная работа в Windows
[−] Неудобный и неинформативный интерфейс

Diffuse

Diffuse —кроссплатформенный продукт для ОС Windows, OS X, Linux и BSD, по интерфейсу напоминающий Meld (в основе — библиотека PyGTK), но имеющий функциональные отличия. Заявлена интеграция с Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion и другими средами.

Продолжая сравнение с Meld: Diffuse характеризуется стабильностью, здесь нет внезапных зависаний. Доступна подробная документация, интерфейс переведен на русский язык. Однако сравнение директорий не входит в инструментарий, в программу заложены только функции сравнения файлов и их редактирования. В Diffuse можно обнаружить несколько режимов слияния: — двух-, трех- и многостороннее. Таким образом, источников сравнения может быть сколько угодно, вопрос лишь в быстродействии и удобстве. Касательно второго аспекта можно лишь сказать, что сессий здесь нет — соответственно, работа с большими проектами в Diffuse под вопросом.

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

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

Работа с системами управления версиями возможна посредством командной строки, перечень команд с описанием изложен в .

Резюме . Функциональность такого рода востребована при слиянии нескольких текстовых документов. Программа лишена недостатков, присущих ближайшему аналогу Diffuse — Meld. Но, к сожалению, сравнение директорий и отчетность остались за бортом.

[+] Удобная работа со строками
[+] Интеграция с CVS
[+] Многооконное слияние
[−] Отсутствие сессий
[−] Маркировка изменений не интуитивна

Perforce P4 Merge

P4Merge нечасто упоминается среди других бесплатных продуктов (например, по сравнению с WinMerge). К тому же отыскать эту программу среди других компонентов комплекса Perforce непросто. Perforce — это коммерческая кроссплатформенная система управления версиями, обладающая широкой сферой применения, не в последнюю очередь за счет плагинов и интеграции с различными продуктами (IntelliJ IDEA, Autodesk 3D Studio Max, Maya, Adobe Photoshop, Microsoft Office, Eclipse, emacs и др.). Впрочем, P4 Merge может работать автономно от сервера Perforce, достаточно скачать программу с сайта разработчика для ее бесплатного использования.

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

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

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

[+] Диаграмма слияния в режиме Merge
[−] Слабая функциональность
[−] Невозможность редактирования на лету
[−] Отсутствие команд слияния