Перейти к содержимому

Как сравнить два текстовых файла на различия

  • автор:

Как сравнить два документа Word

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

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

  1. Откройте документы, которые нужно сравнить.
  2. На вкладке Рецензирование в группе Сравнить нажмите кнопку Сравнить.
  3. Выберите пункт Сравнение двух версий документа (юридическое примечание).
  4. В поле Исходный документ укажите документ, который будет использоваться в качестве исходного.
  5. В поле Измененный документ выберите документ, который нужно сравнить с уже открытым документом.
  6. Щелкните Больше, а затем укажите параметры сравнения документов. Рядом с Показывать изменения выберите отображение изменений на уровне знаков или на уровне слов. Если результаты сравнения не требуется выводить в третьем документе, укажите документ, в котором должны быть отображены изменения.

Важно: Все параметры, выбранные в разделе Больше, будут использоваться по умолчанию при последующем сравнении документов.

Как сравнить файлы по содержимому в Windows или Linux?

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

Способ 1. Meld

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

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

# apt install meld

Meld существует и под Windows, но я не рекомендую его использовать в этой операционной системе.

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

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

Бесплатная программа 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 путь к первому файлу путь ко второму файлу

Способ 8. Сравнение двух текстовых файлов утилитой comm в Unix

Unix утилита comm входит в стандартную поставку всех Unix- дистрибутивов, таких как FreeBSD, GNU/Linux (пакет GNU Coreutils) и другие.

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

При вызове без параметров рассматриваемая утилита будет выводить строки в трех столбцах: первый столбец будет содержать строки, присутствующие лишь в файле 1, второй столбец — строки, присутствующие лишь в файле 2, а третий столбец — строки, присутствующие в обоих файлах. Утилита поддерживает параметры -1, -2 и -3, позволяющие не выводить столбцы под соответствующими номерами. Статус завершения работы утилиты не зависит от результата распределения строк по столбцам; в случае успешного распределения строк утилита завершает работу с нулевым статусом, в случае возникновения любой ошибки — с ненулевым.

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

$ comm [параметры] файл 1> файл 2>

Параметры запуска: -1 Подавить вывод первой колонки; -2 Подавить вывод второй колонки; -3 Подавить вывод третьей; -i Нечувствительное к регистру сравнение строк.

Примеры запуска утилиты comm для сравнения двух файлов по содержимому:

comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
запуск comm с предварительной сортировкой

comm (sort file1.txt) (sort file2.txt)

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

sed 's/[^0-9]//g'  input > output

. В итоге получаем такую команду:

comm (sed 's/[^0-9]//g' file1.txt | sort) (sed 's/[^0-9]//g' file2.txt | sort)

Как сравнить два файла, в чем у них различия (текст, Word/Excel-документы, Exe-файлы)

sravnit-faylyi

Приветствую всех читателей!

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

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

Можно, конечно, сориентироваться по дате — однако, далеко не всегда такой подход будет уместен. Но вот если бы какая-то программа нашла и выделила несовпадающие символы (строки). это было бы здорово! ��

Собственно, о нескольких подобных примерах и пойдет речь в этой заметке.

Нюансы: о каких файлах идет речь

Текстовые файлы

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

Для работы нам понадобится блокнот �� Notepad++ (ссылка на офиц. сайт) . Установка у программы стандартная (поэтому ее опускаю).

Далее делаем следующее:

    запускаем Notepad++ и открываем меню «Плагины / управление плагинами» — в списке плагинов находим «Compare» и соглашаемся на его установку (см. пример ниже ��);

Устанавливаем плагин в Notepad++

Устанавливаем плагин в Notepad++

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

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

Места, где есть различия, были выделены!

Места, где есть различия, были выделены! // Notepad++

Документы Word / Excel (+ текстовые в т.ч.)

Начну с MS Word.

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

Делается это так (на примере Word 2019):

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

Открываем 2 файла в Word

Открываем 2 файла в Word

Рецензирование - Сравнить (Word 2019)

Рецензирование — Сравнить (Word 2019)

Выбор документов

Выбор документов

Что получается в итоге

Что получается в итоге // Word подсчитал сколько было мест с исправлениями (в моем случае 8!).

�� Что касается Excel

С одной стороны — в Excel есть десятки способов, как можно сравнить две таблички между собой, с другой — в зависимости от конкретной задачи в каждом случае нужно «всё подгонять» под себя (универсального способа на все случаи жизни — нет!). ��

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

    для начала необходимо скопировать (сочетания в помощь: Ctrl+C / Ctrl+V) обе таблички на один лист в Excel (в качестве примера у меня табличка с именами ��);

Пример двух табличек

Пример двух табличек

Выделяем таблицы, и вкл. повторяющиеся значения

Выделяем таблицы, и вкл. повторяющиеся значения

Все отличия были найдены!

Все отличия были найдены!

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

�� В помощь!

1) Excel: как сравнить 2 таблицы с помощью функции ВПР — см. простейший пример.

2) Повторяющиеся значения в Excel: как удалить дубликаты / уникальные строки.

Др. бинарные файлы Exe, Com и пр. (возможно без расширения)

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

Сравнить два EXE-файла (или любых других, у которых нет расширения, и вы даже не знаете их тип данных) можно с помощью спец. редактора шестнадцатеричных, десятичных и бинарных файлов. Например, один из доступных для начинающих — это �� Hex Editor Neo (ссылка на сайт разработчика).

Как с ней работать : сначала необходимо запустить программу и открыть в ней оба файла (это стандартно, как и в др. софте). Далее перейти в раздел «Tools / File Comparison / Compare Files» . ��

Hex Editor Neo — инструмент сравнения

Hex Editor Neo — инструмент сравнения

В результате Hex Editor Neo автоматически разделит экран поровну на две части и подсветит несовпадающий код. ��

Пример сравнения

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

Картинки

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

Обратите внимание , программа Image Comparer �� автоматически выделят на картинках те области, к которым стоит присмотреться (либо есть различие, либо они не четкие и нельзя точно сказать наверняка. ).

Image Comparer - скрин работы приложения (от разработчика)

Image Comparer — скрин работы приложения (от разработчика)

Дополнения по теме (��), разумеется, приветствуются!

Как сравнить содержимое двух текстовых документов

title

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

1. Сравнение двух документов в MSWord (начиная с версий программы MSWord 2007, 2010, 2013)

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

Запускаем программу MS Word. На ленте открываем вкладку Рецензирование, выбираем раздел Сравнить и раскрываем возможные варианты команды Сравнить… (смотри на Рисунок 1), выбираем первую команду – Сравнение двух версий документа (Юридическое примечание).

Рисунок 1 Запуск автоматического СРАВНЕНИЯ двух текстовых документов

1

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

Рисунок 2 Внешний вид окна Сравнение версий

2

Командная кнопка Больше>> (Рисунок 2) предоставляет больше дополнительных настроек отображения (подсвечивания) выполненных изменений. При ее активации окно Сравнения версий примет следующий вид (смотри Рисунок 3)

Рисунок 3 Дополнительные возможности при автоматическом сравнении текстовых документов

3

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

По умолчанию окно Сравнения выглядит следующим образом.

Рисунок 4. Окно автоматического сравнения двух версий документа

4

Рассмотрим области окна автоматического сравнения документов в Юридическом примечании.

  • Слева приводится Сводка исправлений: что именно было исправлено и кем (если имя пользователя указано в настройках Word).
  • В центре – Сравниваемый документ – документ с внесенными исправлениями (показываются красным: добавление и удаление слов).
  • Справа сверху: исходный документ, а ниже – измененный документ.

Область сверки Сводка исправлений можно настроить в виде горизонтальной панели рецензирования. Для этого необходимо выполнить последовательно следующие команды: вкладыш Рецензирование => Область проверки => Горизонтальная панель рецензирования.

Рисунок 5. Настройка Горизонтальной панели рецензирования

5

В этом случае окно автоматического сравнения двух документов будет выглядеть следующим образом

Рисунок 6. Окно автоматического сравнения документов при горизонтальной панели рецензирования

6

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

Рисунок 7 Работаем с опцией ИЗМЕНЕНИЯ

7

Выявленные изменения необходимо либо Принять, чтобы оно осталось в измененном документе и больше не показывалось как исправление, либо Отклонить, если не согласны. Передвигаться по исправлениям можно с использованием клавиш: Назад и Далее (смотри Рисунок 7).

Чтобы отклонить или принять все исправления, используем команду Принять (или Отклонить). С помощью левой клавиши мыши раскрываем список опций команды Принять/Отклонить (стрелочка вниз) и из предложенных вариантов выбираем нужную, например: Применить (Отклонить) все исправления в документе.

Рисунок 8 Окно команды ПРИНЯТЬ

8

2. Сравнение двух блоков текста в интернет-браузере

При сравнении содержимого двух документов также можно воспользоваться специализированными сервисами, предоставляемыми интернет-браузерами. Они удобны при определении различий в текстах как англоязычных документов, так и при работе с русскоязычными текстами, например: Text-Compare (http://text-compare.com/), TextDiff (http:// www.textdiff.com/) и Quick Diff (http://www.quickdiff.com/). С их помощью можно сравнивать фрагменты текста, таблицы и даже программный код.

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

Text-Compare (http://text-compare.com/). Для сравнения двух фрагментов в данном сервисе достаточно скопировать эти фрагменты в соответствующие окна, а затем запустить процесс сравнения (командная кнопка Compare). Различающиеся, а также отсутствующие в одном из сравниваемых документов фрагменты текста будут выделенными (отличающиеся элементы выделяются цветом при сравнении таблиц, в программных кодах при сравнении дополнительно отмечаются строки с отличиями).

Рисунок 9 Окна Text-Compare до выполнения операции сравнения и после ее выполнения

9

TextDiff (http://www.textdiff.com/). Окно сервиса представляет собой два окна, в которые помещаются сравниваемые фрагменты текста, таблицы или программного кода.

Рисунок 10 Окно сервиса TextDiff

11

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

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

Рисунок 11 Результата сравнения с использованием сервиса TextDiff

12

Принцип представления результатов в Quick Diff точно такой же, как и в TextDiff. Отличие состоит в том, что удаленные из второго фрагмента данные не только отображаются другим цветом, но еще и зачеркиваются. При этом к сложностям сравнения текста добавляется проблема – некорректное распознавание кириллицы (смотри Рисунок 12).

Рисунок 12.Окно сервиса Quick Diff после выполнения операции сравнения

10

  1. сервис Text-Compare может использоваться для сравнения текстов, таблиц и программного кода безо всяких ограничений;
  2. сервис TextDiff может использоваться для сравнения текстов, программных кодов и небольших табличных фрагментов;
  3. сервис Quick Diff прекрасно сравнивает тексты (не на русском языке), программные коды и может использоваться для сравнения небольших табличных фрагментов.

Материал подготовлен Шутилиной Л.А., методистом ГМЦ ДОгМ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *