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

Сегодняшняя заметка будет относиться к офисной тематике. (а точнее: речь пойдет о сравнении нескольких документов между собой).
Можно, конечно, сориентироваться по дате — однако, далеко не всегда такой подход будет уместен. Но вот если бы какая-то программа нашла и выделила несовпадающие символы (строки). это было бы здорово! 👌
Собственно, о нескольких подобных примерах и пойдет речь в этой заметке.
Нюансы: о каких файлах идет речь
Текстовые файлы
И так, начать заметку (я думаю) стоит с самых обычных текстовых файлов (коих большинство). Задача перед нами будет следующая : есть два почти одинаковых текстовых файла (в формате TXT), и нужно найти в них отличные строки и символы, и подсветить их (о чем я и сказал выше).
Далее делаем следующее:
Устанавливаем плагин в Notepad++
Открываем два нужных файла и жмем кнопку сравнения
Места, где есть различия, были выделены! // Notepad++
Документы Word / Excel (+ текстовые в т.ч.)
Программа универсальная и позволяет сравнивать как документы формата Docx, так и обычные текстовые файлы (TXT, RTF и пр. форматы).
Делается это так (на примере Word 2019):
Открываем 2 файла в Word
Что получается в итоге // Word подсчитал сколько было мест с исправлениями (в моем случае 8!).
👉 Что касается Excel
Ниже приведу лишь парочку наиболее простых вариантов (разумеется, есть много др. способов решения).
Пример двух табличек
Выделяем таблицы, и вкл. повторяющиеся значения
Все отличия были найдены!
В Excel есть одна довольно мощная функция ВПР — она позволяет сравнивать 2 таблицы и при нахождении чего-то «несовпадающего» — выполнять условие (скажем, подставить значение из одной таблицы в другую). О том, как с ней работать — показано в одной моей прошлой статье (парочка ссылок ниже).
1) Excel: как сравнить 2 таблицы с помощью функции ВПР — см. простейший пример.
Др. бинарные файлы Exe, Com и пр. (возможно без расширения)
Тема очень специфичная, и я включил ее в заметку только для общей информации.
Сравнить два EXE-файла (или любых других, у которых нет расширения, и вы даже не знаете их тип данных) можно с помощью спец. редактора шестнадцатеричных, десятичных и бинарных файлов. Например, один из доступных для начинающих — это 👉 Hex Editor Neo (ссылка на сайт разработчика).
Hex Editor Neo — инструмент сравнения
В результате Hex Editor Neo автоматически разделит экран поровну на две части и подсветит несовпадающий код. 👇
Разумеется, для дальнейшего редактирования и более-менее осмысленной работы — необходимы определенные знания / либо точно знать, какой кусок нужно удалить, поменять (можно, конечно, поэкспериментировать. но результаты могут быть самыми разными — от ошибок при запуске отредактированного файла, до «вылетов» синих экранов).
Картинки
Вообще, две картинки чаще всего сравнивают просто на «глазок», ставя их одну к одной. Впрочем, для этого можно использовать и спец. утилиты — например, те, которые используются для поиска дубликатов файлов. Я на страницах блога как-то упоминал о них, ссылка ниже в помощь.
Дополнения по теме (👇), разумеется, приветствуются!
Программы для сравнения двух текстов
Иногда нужно сравнить два похожих или совершенно разных текста, чтобы найти в них общее либо, наоборот, отличное содержимое. Благо, существует множество приложений, позволяющих сделать это в автоматическом режиме, да еще и наделенных дополнительными функциями.
Shingles Expert
Стоит начать с удобной бесплатной утилиты, подробный обзор которой есть на нашем сайте. Интерфейс поделен на две части, в каждую из них вставляется исходный текст. Его можно добавить вручную или загрузить из файла. После сравнения отобразится процент совпадения, а также длина шингла. Помимо этого, предусмотрена функция автоматического «отброса» HTML-тегов и стоп-слов, которые пользователь указывает сам.
Shingles Expert распространяется на бесплатной основе и доступен на русском языке. Главный недостаток программы заключается в том, что в ней отображается лишь процент совпадений. Сами одинаковые фрагменты никак не подсвечиваются, а потому такое решение подойдет далеко не для всех ситуаций, однако обратить на нее внимание стоит.
Microsoft Word
В популярный текстовый редактор Microsoft Word тоже встроена функция сравнения текстов, однако далеко не всем это известно, ведь среди множества возможностей программы довольно легко запутаться. Для этого предусмотрен раздел «Рецензирование». Выбрав нужную функцию, достаточно вставить исходный и измененный документы, после чего можно выставить дополнительные параметры — показатели, которые будут отображаться при сравнении.
Таким образом, совсем не обязательно использовать менее популярные приложения для поставленной задачи. С этим справится и известный текстовый редактор, используемый по всему миру. Тем более что в нем реализовано множество других функций, позволяющих делать с текстовыми документами практически все.
WinMerge
Бесплатная утилита с открытым исходным кодом от разработчиков-любителей. WinMerge предназначена для сравнения не только текстовых файлов, но и целых папок. В результате отображаются все различия между ними, с которыми можно ознакомиться в удобном окне. Это особенно полезно для разработчиков или авторов, которые хотят сравнить две разные версии своего проекта и выявить фрагменты, которые изменились.
Помимо этого, реализовано множество дополнительных возможностей. Все они расположены в виде удобного меню в верхней части рабочего пространства. При анализе папок учитываются все данные: содержимое, размеры, дата изменения и т. д. Что касается текстовых файлов, поддерживаются все доступные форматы не только Windows, но и Unix, и Mac. Бесплатно скачать WinMerge на русском языке можно с официального сайта.
TextDiff
TextDiff — еще одна бесплатная утилита для сравнения текстов, которая имеет открытый исходный код. Она поддерживает Unicode и крайне проста в использовании. Рабочее пространство выполнено в виде двух окон, в каждое из которых и вставляется текст. Выполнив анализ, приложение покажет различающиеся строки и подсветит их зеленым цветом. Здесь же можно внести соответствующие правки в удобном редакторе, после чего экспортировать новые файлы в формат TXT.
Присутствует русскоязычная версия, а сама программа не нуждается в установке, поскольку является портативной.
Compare Suite
Compare Suite — более продвинутая программа для сравнения различных объектов, в числе которых любые файлы и папки, включающие в себя как текстовые, так и графические форматы. Предусмотрена не только функция сравнения, но и объединения документов. Распознаются любые форматы Windows, DOS, Unix и Mac. Помимо этого, поддерживается и широкий спектр кодировок. Реализована технология сравнения двух и трех объектов.
В Compare Suite встроен и удобный редактор, причем его можно использовать в качестве среды разработки — подсвечивается синтаксис C, C++, PHP, HTML, Basic, JavaScript, SQL и многих других языков. Отлично подходит как для разработчиков, так и для офисных работников, которые регулярно имеют дело с различными документами. Есть русскоязычный интерфейс, а единственная проблема заключается в том, что приложение платное, хотя и имеет 30-дневную пробную версию.
ABBYY Comparator
ABBYY Comparator — многоплановое решение от известной компании ABBYY, предлагающее отличные возможности для разработчиков и авторов. Благодаря фирменным технологиям в программе можно сравнивать не только два текстовых, но и отсканированные документы. Поддерживаются распространенные текстовые и графические форматы, от TXT до PDF. Это могут быть электронные таблицы, прайс-листы, договоры и многое другое.
Рассматриваемое решение не подойдет для домашнего использования, поскольку имеет коммерческую направленность. Для получения пробной версии необходимо связаться с менеджером компании. Примечательно, что Comparator имеет API-версию, позволяющую интегрировать ее в любую архитектуру по желанию клиента. Важно отметить высокую стоимость продукта, свидетельствующую о его бизнес-ориентированности.
Мы рассмотрели основные решения для сравнения двух или нескольких текстов. Они позволяют находить различия в документах, править их. Помимо этого, более продвинутые варианты работают даже с изображениями и другими файлами.
Помимо этой статьи, на сайте еще 12489 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
4 способа сравнить два файла по содержимому 40
Друзья, рад вас приветствовать на страницах моего блога. Сегодня хочу рассказать вам о 4 способах сравнения файлов по содержимому. Необходимость найти различия возникает довольно часто. Приходится делать сравнение файлов по типу или размеру. Сравнение файлов в Word и Excel тоже весьма распространённая процедура в офисах и конторах, где постоянно приходится работать с текстовыми документами и таблицами.
Так, последний пример, когда я использовал сравнение двух файлов, — это проблема с работой комментариев. В своём ежемесячном отчёте я упоминал об этом. Причина была всего лишь в одном пробеле. Вы только представьте, как можно найти такое несущественное различие вручную.
И, вообще, работая с файлами сайта, достаточно часто приходиться анализировать код. Делать это вручную нереально. Куда проще воспользоваться подручными средствами, инструментами, которые должны быть у каждого веб-мастера и владельца сайта.
Способ 1. Сравнение файлов в программе Total Commander.
Этой программой я пользуюсь давно. Для работы с файлами, на мой взгляд, это одна из лучших программ. Программа Total Commander платная, но можно в течение 30 дней пользоваться и пробной версией, которая по истечении времени также будет работать, но с предложением о покупке. Скачать пробную версию можно здесь.
Ранее я рассказывал, как настроить ftp-соединение через TC, которое позволяет легко управлять файлами сайта и осуществлять все необходимые операции прямо с компьютера, минуя личный кабинет хостинга. Только из-за одной этой возможности уже стоит использовать эту программу.
А теперь разберём инструмент сравнения файлов по содержимому, который также позволяет редактировать и копировать данные в процессе анализа.
Итак, запускаете Total Commander – в одной из панелей выбираете первый файл для сравнения – во второй панели открываете папку со вторым файлом.
Далее, открываете пункт меню «Файл» — «Сравнить по содержимому».
Откроется новое окно, также разделённое на две панели. В самом верху, в каждой панели будет срока для выбора файла. В одной из них первый файл будет уже выбран (но может быть и пустым). Для выбора файла нужно нажать на небольшую кнопочку со стрелочками (>>).
Выбрав файлы для сравнения, нажимаете на кнопку «Сравнить». В каждой панели появится содержимое выбранного файла. Отличия будут отмечены фоновым цветом.
Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». И можно приступать к внесению изменений. Также здесь будут доступны функции копирования и отката, поиска и изменение кодировки.
Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить результат.
Способ 2. Сравнение файлов в Notepad++.
Если вам приходилось, хоть когда-либо, редактировать файлы html, css и php. То наверняка вы слышали о бесплатном редакторе кода Notepad++. Скачать программу можно здесь.
Эта прекрасная программа, которая к неисчислимым её достоинствам позволяет ещё и файлы сравнивать по их содержимому.
Но для этого потребуется установить небольшой плагин. Делается всё это непосредственно внутри самого редактора.
Итак, запускаете редактор – переходите в пункт меню «Плагины» — «Plugin Manager» — «Show Plugin Manager».
В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».
После установки плагина можно приступать к сравнению содержимого файлов. Для этого нужно открыть два файла – перейти в пункт меню «Плагины» — «Compare» — «Compare (Alt+D)».
Результат сравнения файлов будет представлен в отдельных панелях. То есть в левой будет первый файл, а в правой второй. Напротив строк, в которых найдены отличия будет предупреждающий знак и подсветка фоновым цветом.
Строка, где найдены малые отличия, будет подсвечиваться жёлтым цветом, и обозначена восклицательным знаком.
Строка, которая полностью отличается, будет отмечена на одной панели красным минусом на другой зелёным плюсом. И подсвечена соответствующим цветом.
Разумеется, найдя отличие, вы сразу можете внести необходимые поправки и сохранить изменения.
Завершить сравнение файлов можно комбинацией клавиш Ctrl+Alt+D.
Способ 3. Сравнение содержимого двух файлов в программе WinMerge.
Эта программа позволяет сравнивать не только содержимое файлов, но и содержимое целых папок. Этим она похожа на Тотал Коммандер, только программа бесплатная. Скачать её можно здесь.
Установка программы стандартная и не составит труда. Поэтому на этом останавливаться не будем, а сразу перейдём к процессу сравнения двух файлов.
Запустив программу, нужно выбрать файлы для сравнения. Открываете пункт меню «Файл» — «Открыть».
Далее, выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».
Результат сравнения представлен в двух панелях, так же как и в других примерах. Только здесь ещё и выделяется именно тот фрагмент кода, который отличается в конкретной строке.
В этой программе можно также редактировать файлы. А когда будете закрывать окно сравнения, программа предложит сохранить изменения в файлах.
Способ 4. Сравнение файлов с помощью командной строки Windows.
Этот способ позволяет сравнивать содержимое файлов без сторонних программ. Достаточно воспользоваться стандартным инструментом операционной системы Windows.
Также этот способ не позволяет редактировать файлы. Для этого нужно использовать другие инструменты. Но, тем не менее с поставленной задачей вы справитесь без дополнительных программ.
Для этого открываете «Пуск» — «Все программы» — «Стандартные» — «Командная строка». И вводите вот эту команду:
Готовый результат будет выглядеть так:
Когда различий мало, то их достаточно быстро можно исправить использую для этого уже программы редактирования. Но когда различий много, то анализировать информацию с помощью этого способа достаточно трудно.
Итак, о способах сравнения файлов я вам рассказал, а теперь предлагаю посмотреть видеоурок в, котором я показываю сравнение двух файлов всеми способами.
Уверен, теперь если вам необходимо будет сравнить файлы, то вы легко сможете это сделать, использую один из предложенных способов.
На этом сегодня всё, всем желаю успехов и хорошего настроения и до встречи в новых статьях и видеоуроках!
С уважением, Максим Зайцев.
Похожие статьи по теме:
Друзья, поддержите блог! Поделитесь статьёй в социальных сетях:
Подписывайтесь на новые статьи!
Оставьте комментарий Отменить ответ
40 коммент. к статье “ 4 способа сравнить два файла по содержимому ”
Приветствую!
Под lUbuntu пользуюсь Meld, и вот думаю, что он мне напоминает. А он оказывается очень похож на WinMerge.
Последний вариант — жесть, для извращенцев 🙂
Паша, привет. Спасибо за дополнение, мне не приходилось работать с Meld. Согласен, последний способ ну уж на самый крайний случай 😉 Хотя, раньше, в DOS приходилось именно им пользоваться.
Полезная информация. Я сам до недавнего времени, вообще вручную искал все отличия. Потом установил плагин в Notepad++, стало намного легче.
Про WinMerge, в свое время, хотел даже статью написать. Я не догадался ее использовать для сравнения файлов сайта.
В ручную искать отличия очень сложно. Особенно если файлы объёмные. Впервые эту фишку, ещё в школе, показал нам учитель информатики. Тогда это было в DOSe. Это как раз тот самый 4 способ. Тогда это было очень круто.
Сам я сейчас использую первые три способа, в зависимости от компьютера на котором работаю. Просто не на всех компьютерах установлены одинаковые программы.
У WinMerge есть portable версия. Очень удобно. Ношу с собой все самое необходимое ПО на флешке (можно скачать на сайте http://portableapps.com/apps ).
Да, действительно очень удобно. Нужно взять на вооружение. Спасибо! 🙂
В Тотале не обязательно выставлять файлы на разные панели. Намного удобнее просто файлы выделить, даже если они на одной панели. Далее в меню «файл» — «сравнить по содержимому». Окно тут же их сравнит и выдаст результат. Для себя, для этой функции я вынес отдельную кнопку, т.к. пользуюсь часто ею, практически каждый день.
Здравствуйте, Михаил. Конечно, не обязательно файлы в разных панелях выбирать, можно и в окне сравнения файлов выбор делать. Это кому как удобно. Главное — инструмент полезный! 😉
СПАСИБО!
Очень полезная штучка!
Может пригодится!
Пожалуйста! Инструменты полезные и всегда найдут своё применение.
Добрый день. А как можно так же быстро сравнить по содержимому фотографии или музыку?
Здравствуйте, Андрей. Честно говоря, никогда не приходилось сравнивать графику и музыку по содержимому. Но, в голову приходят лишь Photoshop для графики и Total Commander для сравнения по размеру и дате создания или изменения. Изначально можно выяснить разницу в размере или дате, а уже после просмотреть или прослушать файлы и найти отличия.
Привет, Максим! Вот, сегодня очень понадобилась эта статья, когда сравнивала свой бывший файл functions.php с тем, который вы мне прислали. Анализировала правки. Для сравнения воспользовалась Notepad++.
Лариса, привет. Да, это очень полезные инструменты, которые постоянно меня выручают. Так недавно обратился ко мне один владелец сайта с просьбой: «Помочь разобраться почему сайтбар и футер пропали со страниц рубрик». Проверив файлы, исходный и его доработанный выяснилось, что человек допустил ряд мелких ошибок (удалил кавычки, не закрыл блок ДИВ). Устранили недочёты и всё встало на свои места.
А так глазками найти такие мелочи, особенно если содержимое файла на сотнях строк, найти очень проблематично.
Странно, что для сравнения файлов были выбраны 4 извращённых варианта.
А как-то про то, чем обычно сравнивают 2-3 файла обычные юзеры, почему-то не сказано ни слова.
В первую очередь ведь должно было прийти на ум — это «Araxis Merge» — сравнение по содержимому и посимвольно.
Перед сравнением содержимого можно просто узнать хэш. Если он одинаковый, то. файлы идентичны. Если хэш разный, тогда уже нужно искать различия в файлах.
Капитан очевидность поражает простотой подхода. То есть, чтобы взять яйцо с полки, нужно сначала увидеть его вид с левого боку, а затем убедиться, что оно как-то не так выглядет с правого боку, а только потом, немного подумав, протянуть руку и взять его, чтобы убедиться, что это на самом деле яйцо.
Не проще ли сразу сделать сравнение файлов, тут же увидеть количество различий. А уж потом, если так интересно, можно и посчитать хэш )))
Пример про яйцо вообще, как бы мягко сказать, неподходящий. Если мы имеем много файлов, то при сравнении хэша, а это делается элементарно, быстро вычислим те файлы, содержимое которых нужно сравнить. Откуда вы знаете, что изменения есть во всех файлах? Рациональнее сначала выявить нужные файлы, а затем сравнить их содержимое, чем сравнивать все файлы подряд, выполняя много ненужной работы.
@Василий
А если все файлы не совсем одинаковые, как обычно бывает. Ведь не будете же держать один и тот же файл в 10-ти экземплярах, а потом копаться и вычислять хешем, какой же один из них правленный, а какие все остальные идентичные )))
Я вот для того и приводил программу «Araxis Merge» — что именно с неё надо было начинать обозрение программ сравнения файлов, если уж подойти к теме серьёзнее и профессиональнее.
А конкретно по вашему случаю с необходимостью сравнить сразу кучу файлов, то «Araxis Merge» как раз умеет сравнивать различия сразу по трём файлам и даже по папкам с кучей файлов. Например, у меня есть старый проект с исходниками и есть новый проект. Естесственно каждый проект лежит в разных папках с подпапками и подподпапками. Так вот, мы просто берём и сравниваем 2-3 папки и тут же, без всякого хэша, видим все различия в каждой папке, в каждом файле и в каждых подпапках. Причём программа показывает не просто различные строки, а буквально каждый несовпадающий символ в каждой строке.
А сравнивать хеши — это имхо явный бред сумасшедшего. Такое может прийти в голову только зелёному школьнику, открывшему для себя новое изобретение в виде контрольных сумм. Мне же, как старому хакеру, со стажем в 26 лет за компом, с круглосуточным ковырянием хекс-редактором и дизассемблерами файлов, и по десятки раз ежедневно сравнивая их — никогда не приходило в голову проверять файлы на хэши, только для того, чтобы выяснить, различаются ли они или нет ))) и никогда такой дуростью заниматься не буду.
Ненуяпонимаю, когда скачал файл из инета, тогда конечно можно проверить его на хэш, но для того, чтобы определить, не побился ли он при закачке или не подменил ли кто оригинал и не подсунул ли самопал.
Не копался в исходниках этой чудо-программы (Araxis Merge), но процентов на 99 уверен, что, если она оптимизирована, то перед сравнением, таки, вычисляет какую-либо контрольную сумму, чтобы выявить отличающиеся файлы.
Не вижу разницы между платными и бесплатными программами, вернее сравнивать файлы ничем не тяжелее платными программами, которые превращены в бесплатные. Я вроде уже давал ссылку на страницу автора русифицированной версии: http://4pda.ru/forum/index.php?showtopic=653615
Да и вообще, в статье, как я понял, рассматривается вопрос сравнения файлов разными способами, но не думаю, что цель статьи ознакомить юзеров исключительно бесплатным софтом и оградить юзеров от информации по платному.
Тут я считаю, Ваш подход к делу несостоятельным, непродуктивным.
Да, именно, цель статьи ознакомить читателей с доступными способом сравнения файлов по содержимому. И я считаю, что цель достигнута. Выделить лучшую или бесплатную программу я не собирался.
Ну да ладно, не буду спорить. Однако считаю ваши доводы не состоятельными. Допустим, если писать обзор графических программ, то стопудово уверен, что без упоминания Фотошопа будет как-то некорректно. И всегда можно нагуглить программу, отученную от жадности ;), тем более, что есть русифицированная версия из коробочки, не требующая ни копеечки. Ну это для тех, кому религия позволяет, отблагодарить автора можно и в другой жизни )))
Вообщем, я вас оповестил и просве(я)тил. Плохо это или хорошо, решайте сами.
Инструментов действительно много. И каждый сам решает, какой выбрать для работы. И будет ли это платный, ломаный или бесплатный продукт тоже решает каждый сам. Спасибо за дополнение статьи.
Доброго времени суток! Респект автору за инструкции! Но, на мой взгляд, представленные 4 способа пригодны только для сравнения данных, но не для работы с ними. Так, в Тоталкоммандере сравнил два текстовых файла с последовательностями буквенных символов (написаны в строку без пробелов). Он подсветил отличия. Мне необходимо вырезать подсвеченное/неподсвеченное и объединить. Как это можно осуществить? Заранее благодарю.
Михаил, добрый вечер. В том же коммандере перейдите в режим редактирования и делайте, то что вам нужно. Вырезайте и объединяйте. В видео я показываю эти моменты.
Здравствуйте! пыталась установить плагин compare в notepad++, но он не устанавливается. процесс инсталляции идет, потом просит перезапустить нотпад, но плагина на вкладке «плагины» нет. Нет его и в списке Installed менеджера плагинов. В чем может быть причина?
Татьяна, добрый вечер. Попробуйте переустановить редактор, а затем заново установить плагин.
Compare от Borland лучше всех. Удобнее и как-то прям приятно и быстро в нём работать.
Каждый выбирает удобный для себя инструмент. Мне Notepa++ хватает для моих задач.
Добрый день всем. Максим написал все правильно. Всякие «умники» могут гигабайтами разные комменты писать, что можно так и можно эдак а человек в двух словах объяснил простой и доступный способ задачи для обыкновенного пользователя. Программист и без Araxis Merge и т.д. знает, что ему делать когда приходится пачками сравнивать. Из-за 2х 3х файлов заморачиваться смысла нет. Простой пользователь на вряд ли знает что такое ХЕШ и как его получить, выбирает наименьший путь сопротивления. И не стоит умничать. Максим написал правильную статью. Респект!
«Всякие «умники» могут гигабайтами разные комменты писать» — Гляньте на свой комментарий.
Поговорку помните? — Вор всегда кричит — «Держите вора!».


























