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

Как сравнить 2 файла

  • автор:

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

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

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

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

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

Как сравнить два файла, в чем у них различия (текст, 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 — скрин работы приложения (от разработчика)

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

Как сравнить 2 файла

Сравнивает два файла или наборы файлов и отображает различия между ними.

Синтаксис

fc /a [/c] [/l] [/lb] [/n] [/off[line]] [/t] [/u] [/w] [/] [:][] [:][] fc /b [][] [][]

Параметры

Параметр Описание
/a Сокращает выходные данные сравнения ASCII. Вместо отображения всех строк, которые отличаются, fc отображает только первую и последнюю строку для каждого набора различий.
/b Сравнивает два файла в двоичном режиме, байт байтов и не пытается повторно выполнить повторную синхронизацию файлов после поиска несоответствия. Это режим по умолчанию для сравнения файлов со следующими расширениями файлов: EXE, .com, .sys, OBJ, .lib или BIN.
/c Игнорирует регистр буквы.
/l Сравнивает файлы в режиме ASCII, строковой строке и пытается повторно изменить размер файлов после поиска несоответствия. Это режим по умолчанию для сравнения файлов, за исключением файлов со следующими расширениями файлов: EXE, .com, .sys, OBJ, .lib или BIN.
/Фунтов

Задает количество строк для внутреннего буфера строк значение N. Длина буфера строки по умолчанию составляет 100 строк. Если сравниваемые файлы имеют более 100 последовательных разных строк, fc отменяет сравнение.
/N Отображает номера строк во время сравнения ASCII.
/off[line] Не пропускает файлы, имеющие автономный набор атрибутов.
/T Запрещает преобразование вкладок в пробелы. Поведение по умолчанию — рассматривать вкладки как пробелы с остановками на каждой восьмой позиции символа.
/u Сравнивает файлы с текстовыми файлами Юникода.
/w Сжимает пробелы (т. е. вкладки и пробелы) во время сравнения. Если строка содержит множество последовательных пробелов или вкладок, /w обрабатывает эти символы как одно пространство. При использовании с /w фк игнорирует пробелы в начале и конце строки.
/

Указывает количество последовательных строк, которые должны соответствовать несоответствию, прежде чем fc рассматривает файлы для повторной синхронизации. Если число сопоставленных строк в файлах меньше nnnn, fc отображает соответствующие строки в качестве различий. Значение по умолчанию равно 2.
[:][]

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

Указывает расположение и имя второго файла или набора файлов для сравнения. требуется имя_файла2 .
/? Отображение справки в командной строке.
Замечания
  • Эта команда реализуется c:\WINDOWS\fc.exe. Эту команду можно использовать в PowerShell, но обязательно укажите полный исполняемый файл (fc.exe), так как «fc» также является псевдонимом для format-Custom.
  • При использовании fc для сравнения ASCII фк отображает различия между двумя файлами в следующем порядке:
    • Имя первого файла
    • Строки из имени файла1 , которые отличаются между файлами
    • Первая строка для сопоставления в обоих файлах
    • Имя второго файла
    • Строки из имени файла2 , которые отличаются
    • Первая строка для сопоставления

    Примеры

    Чтобы сделать сравнение ASCII двух текстовых файлов, monthly.rpt и sales.rpt, и отобразить результаты в сокращенном формате, введите:

    fc /a monthly.rpt sales.rpt 

    Чтобы сделать двоичное сравнение двух пакетных файлов, прибыль.bat и прибыль.bat, введите:

    fc /b profits.bat earnings.bat 

    Результаты, аналогичные следующему:

    00000002: 72 43 00000004: 65 3A 0000000E: 56 92 000005E8: 00 6E FC: earnings.bat longer than profits.bat 

    Если файлы profits.bat и earnings.bat идентичны, fc отображает следующее сообщение:

    Comparing files profits.bat and earnings.bat FC: no differences encountered 

    Чтобы сравнить каждый BAT-файл в текущем каталоге с файлом new.bat, введите:

    fc *.bat new.bat 

    Чтобы сравнить файл new.bat на диске C с файлом new.bat на диске D, введите:

    fc c:new.bat d:*.bat 

    Чтобы сравнить каждый пакетный файл в корневом каталоге на диске C с тем же именем в корневом каталоге на диске D, введите:

    fc c:*.bat d:*.bat 

    Дополнительные ссылки

    Как сравнить файлы по содержимому в 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)

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

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