Каким образом можно сравнить файлы с одинаковым содержанием но разных форматов
Сравнение документов вручную занимает очень много времени и влечет риск ошибок. Найти изменения в разных версиях документа можно в Word или Excel, но удобнее делать это через специальные сервисы сравнения документов. Вот несколько платных и бесплатных инструментов.
Сервис работает только с файлами в формате PDF или со скопированным текстом. Для проверки изменений в документе нужно перетащить обе версии в специальное поле — результаты сравнения выводятся сверху.
В бесплатной версии при сравнении документов сервис сбрасывает форматирование — это мешает работе.
Сервис работает с документами в формате PDF, DOC и DOCX, сохраняет исходное форматирование и заполнение документов, не разбивая строки и абзацы. Кроме того, сервис умеет анализировать программный код и сравнивать таблицы внутри текстов. Сравнение изображений не поддерживается.
Embedika Compare — единственный в этой подборке российский сервис сравнения документов. В нем есть режим обучения, весь его интерфейс — на русском языке.
Загружаемые документы обрабатываются мгновенно и нигде не хранятся, — в том числе и на серверах компании. Документы не попадают в открытый доступ.
В бесплатной онлайн-версии сервиса можно сравнить файлы в форматах PDF, Word и Power Point. Для анализа документа нужно загрузить обе версии в специальное поле — после этого откроется отдельное окно с указанием различий.
Сервис автоматически сравнивает документы в формате PDF и удаляет все данные сразу после закрытия вкладки в браузере.
Результаты сравнения выводятся на всплывающем экране в виде мерцающих кусков текста — из-за этого пользоваться сервисом не слишком удобно. Но, в отличие от других решений, инструмент позволяет сравнивать не только текст и таблицы, но и изображения.
Kaleidoscope — приложение для сравнения текстов, изображений и папок с файлами. У инструмента приятный дизайн, в нем можно редактировать тексты.
Приложение доступно только для iOS и MacOS. Полная версия стоит $69,9 ($19,9 для iPad).
У приложения те же функции, что у Kaleidoscope, — за исключением того, что текст загруженных документов можно редактировать прямо в приложении.
DeltaWalker работает на MacOS и Windows и стоит $39,95.
Сервис сохраняет подробный отчет о сравнениях — но, как утверждают разработчики, не хранит сами файлы. Большинство функций вынесено на панель инструментов, текст и картинки можно редактировать сразу после сравнения.
1) Нужно сперва закоммитить. Представляю, как менеджер или юрист коммитит изменения для сравнения документов на расхождения.
2) Разве гитхаб и гитлаб умеют сравнивать pdf, excel или word? Они умеют сравнивать текстовые данные, а не архивы и бинарники, да ещё и с правильным представлением.
Ну и вообще, не гитхаб и гитлаб, а гит или любая другая система контроля версий.
1) Нужно сперва закоммитить. Представляю, как менеджер или юрист коммитит изменения для сравнения документов на расхождения.
Моя мечта, что все офисные чуваки используют Git :) И пишут свои документы, используя Markdown.
2) Разве гитхаб и гитлаб умеют сравнивать pdf, excel или word? Они умеют сравнивать текстовые данные, а не архивы и бинарники, да ещё и с правильным представлением.
Да ты прав, не умеют. Я об этом не подумал.
Ну и вообще, не гитхаб и гитлаб, а гит или любая другая система контроля версий.
Приветствую всех читателей!
Сегодняшняя заметка будет относиться к офисной тематике. (а точнее: речь пойдет о сравнении нескольких документов между собой).
Представьте , у вас есть парочка документов, в которых частично различается текст (например, где-то уже исправленный, а где-то "старый", с ошибками. ). И теперь нужно найти между ними различия, принять их к сведению, и собрать из 2-х файлов один.
Можно, конечно, сориентироваться по дате — однако, далеко не всегда такой подход будет уместен. Но вот если бы какая-то программа нашла и выделила несовпадающие символы (строки). это было бы здорово! 👌
Собственно, о нескольких подобных примерах и пойдет речь в этой заметке.
Нюансы: о каких файлах идет речь
Текстовые файлы
И так, начать заметку (я думаю) стоит с самых обычных текстовых файлов (коих большинство). Задача перед нами будет следующая : есть два почти одинаковых текстовых файла (в формате TXT), и нужно найти в них отличные строки и символы, и подсветить их (о чем я и сказал выше).
Для работы нам понадобится блокнот 👉 Notepad++ (ссылка на офиц. сайт) . Установка у программы стандартная (поэтому ее опускаю).
Далее делаем следующее:
-
запускаем Notepad++ и открываем меню "Плагины / управление плагинами" — в списке плагинов находим "Compare" и соглашаемся на его установку (см. пример ниже 👇);
Устанавливаем плагин в Notepad++
Открываем два нужных файла и жмем кнопку сравнения
Места, где есть различия, были выделены! // Notepad++
Документы Word / Excel (+ текстовые в т.ч.)
Начну с MS Word.
Программа универсальная и позволяет сравнивать как документы формата Docx, так и обычные текстовые файлы (TXT, RTF и пр. форматы).
Делается это так (на примере Word 2019):
-
сначала необходимо открыть оба файла в Word (как правило достаточно по нужному файла кликнуть правой кнопкой мыши и в меню указать, что требуется открыть в Word, см. пример ниже 👇) ;
Открываем 2 файла в Word
Рецензирование - Сравнить (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 автоматически разделит экран поровну на две части и подсветит несовпадающий код. 👇
Разумеется, для дальнейшего редактирования и более-менее осмысленной работы — необходимы определенные знания / либо точно знать, какой кусок нужно удалить, поменять (можно, конечно, поэкспериментировать. но результаты могут быть самыми разными — от ошибок при запуске отредактированного файла, до "вылетов" синих экранов).
Картинки
Вообще, две картинки чаще всего сравнивают просто на "глазок", ставя их одну к одной. Впрочем, для этого можно использовать и спец. утилиты — например, те, которые используются для поиска дубликатов файлов. Я на страницах блога как-то упоминал о них, ссылка ниже в помощь.
Обратите внимание , программа Image Comparer 👇 автоматически выделят на картинках те области, к которым стоит присмотреться (либо есть различие, либо они не четкие и нельзя точно сказать наверняка. ).
Доброго дня!
Я думаю, что у многих пользователей на диске лежат десятки (а то и сотни) гигабайт картинок, обоев, видео, музыки и пр. файлов. 👀
И должен заметить, что в разных каталогах (в сборниках обоев, например) могут находится достаточно много копий (дублей). Нередко, после их удаления, удается освободить несколько гигабайт пространства на HDD!
Для поиска дубликатов существуют специальные программы и утилиты. Они способы за относительно небольшое время просканировать ваш жесткий диск(и) и представить вам на обозрение всё одинаковое. Дальше, как правило, вам останется только пометить галочками, что удалить — и ву-а-ля, место очищено!
В этой статье приведу несколько таких "чистильщиков", которые помогут вам освободить место на жестком диске.
📌 Дополнение!
Кстати, также увеличить свободное место на диске можно за счет очистки разного рода "мусора" (временных файлов, кэша, и пр.). О лучших утилитах для чистки ПК см. тут
Топ-14 программ для поиска дубликатов (одинаковых файлов)
Универсальные (поиск любых файлов)
Универсальные программы для поиска дублей подойдут для работы с любыми файлами: документами, фотографиями, видео и пр. Как правило, их работа строится на поиске файлов одинакового размера и контрольной суммы. Т.е. эти программы ищут точные копии, совпадающие на 100%!
Благодаря этому, их скорость работы достаточно высока. Однако, они не могут найти, например, почти одинаковые картинки, которые сохранены в разных форматах и отличным разрешением. Для этого необходимо использовать спец. ПО, которое я порекомендую ниже.
📌 Ускоритель компьютера
Эта утилита с говорящим названием от российских разработчиков. Вообще, она предназначена для удаления мусорных файлов, исправления ошибок в реестре, контроля за состоянием автозагрузки и т.д., но в ее инструментах есть спец. модуль, позволяющий находить файлы-дубли.
См. скриншот ниже.
Функция поиска дублей (утилита - Ускоритель компьютера)
Так вот, после запуска этой функции, вам будет предложено указать папки (которые будут проанализированы), и нажать кнопку поиска. Через некоторое время программа представит вам все найденные дубли — останется только удалить "лишнее".
Например, я проанализировал свою папку "Музыка" и узнал, что у меня 311 mp3-дублей на 2,65 ГБ. Причем, эта папка у меня не такая уж и большая. Результат на скриншоте ниже.
Одна песня в двух сборниках
Разумеется, если у вас много сборников на диске (картинки, музыка и пр.) — количество освобождаемого места может быть значительно больше!
Примечание : бесплатная версия программы работает в полном режиме в течении 5 дней.
📌 Glary Utilities (Glary Duplicate Cleaner)
Glary Duplicate Cleaner - главное окно
Glary Utilities — отличный набор утилит на все случаи жизни. Содержит в себе все самые необходимые инструменты для очистки, обслуживания и оптимизации Windows. Этот комплекс я уже неоднократно рекомендовал на страницах своего блога .
В его арсенале встроенного ПО есть одна небольшая утилита Glary Duplicate Cleaner. Она позволяет достаточно быстро находить дубли самых разных форматов файлов: TXT, RAR, ZIP, MP3, WAV, AVI, JPG, BMP и пр. (в общем, все самое популярное точно есть, см. скрин ниже 👇).
Настройка параметров сканирования / Glary Duplicate Cleaner
Также есть небольшой фильтр с критериями поиска: по имени, размеру, времени. Есть опция для пропуска файлов определенного размера (например, можно пропускать файлы, которые весят менее 100 КБ).
Отмечу, что пакет Glary Utilities бесплатен, и полностью переведен на русский язык. В общем, оценка 5 по 5 бальной шкале!
📌 CCleaner
CCleaner - окно поиска
Одна из самых известных утилит по очистке ПК. Однако, не многие пользователи знают, что в ее арсенале есть функция по поиску дублей (причем, весьма неплохая функция!).
Чтобы открыть эту опцию: необходимо загрузить последнюю версию программы, в меню "Сервис" выбрать "Поиск дублей" , указать настройки и нажать кнопку "Найти" .
Отмечу, что поиск идет достаточно быстро, можно фильтровать файлы по их размеру, дате имени. Также вручную можно задать конкретные диски (папки) для поиска. В общем, довольно удобно!
📌 AllDup
AllDup - главное окно программы
Это небольшая бесплатная утилита способа очень быстро просканировать все ваши накопители и удалить все повторяющиеся файлы. Разработчики отмечают, что их алгоритм поиска на 10-30% работает быстрее, чем у других аналогичных продуктов.
Лично я скорость не проверял, но отметил бы следующее: утилита работает во всех ОС Windows 2000, XP, 7, 8, 10 (это некое преимущество!).
Также добавил бы, что у утилиты есть достаточно много фильтров: имя файла, расширение, размер, содержимое, дата изменения, атрибуты и пр.
После произведенного поиска, утилита AllDup представит вам результаты: с каждым дубликатом вы сможете ознакомиться и удалить его прямо из интерфейса программы. Удобно!
📌 Duplicate File Finder
Duplicate File Finder (нашлись одинаковые картинки)
Бесплатный инструмент для очистки дисков от повторяющихся файлов. Программа побайтово сравнивает файлы на указанном диске (каталоге). Присутствуют стандартные фильтры: расширение файла, его имя, дата создания, и размер.
С результатом поиска (пример приведен на скрине выше) можно либо ознакомиться в самой программе (и принять решение), либо экспортировать его в файлы HTML, CSV и TXT. Кстати, отметил бы, что в программе достаточно удобный вьювер, позволяющий просмотреть картинку, текст, видео.
📌 Total Commander
Total Commander - поиск файлов
В этом знаменитом коммандере (хорошей замене проводника) также есть функция поиска файлов. Чтобы ее открыть - нажмите по значку "лупы" в верхнем меню программы (см. скрин выше).
Далее в подразделе "Дополнительно" вы сможете отметить галочками как производить поиск дублей. Можно "регулировать" даты, размер фалов, их тип, содержимое и пр. (см. скрин ниже).
Критерии для поиска
Возможностей, конечно, здесь не так много, но тем не менее.
Для поиска фото, картинок, графики
Эти программы могут производить поиск не только по размеру (контрольной сумме) файла, но и по содержимому картинки. Например, у вас есть несколько одинаковых обоев для рабочего стола, располагающихся в двух разных папках (но у этих картинок разный размер и разрешение).
Так вот, программы, приведенные выше - не нашли бы эти дубликаты, т.к. они "не могут" оценить то, что отображено на картинках. В этом случае необходимо воспользоваться спец. инструментами (о них ниже 👌).
📌 Image Comparer
Image Comparer - скрин работы приложения (от разработчика)
Это совсем небольшая утилита, специализирующаяся на поиске похожих изображений. Отмечу, что она сравнивает не просто размер, а то, что изображено на картинке (см. скрин выше). Поддерживаются все популярные форматы картинок и фото: RAW, JPEG, J2K, BMP, GIF, PNG, TIFF, TGA и др.
После проведенного поиска, пред вами предстанет список дубликатов: пройдясь по нему, вы сможете просмотреть все копии и удалить те, которые вам не нужны. Что интересно: программа показывает вам процент похожести тех или иных картинок (разница между ними выделяется при просмотре квадратиками).
Из минусов : если вы укажите большой диск (в несколько терабайт) - программе потребуется очень большое время на сканирование.
Рекомендую перед ее использованием пройтись по картинкам с помощью более грубых инструментов (например, CCleaner, AllDup и пр., см. выше) .
📌 DupeGuru Picture Edition
DupeGuru Picture Edition - результаты поиска
Очень простенькая утилита, которая предназначена для быстрого поиска одинаковых картинок. Отмечу, что похожие картинки будут найдены даже если у них разный формат (например, JPG и Tiff как на скрине выше).
Из преимуществ утилиты:
- наглядное сравнение картинок;
- программа полностью бесплатна;
- простой интерфейс, выполненный в стиле минимализма;
- поддержка русского языка;
- возможность экспортировать результаты поиска;
- поддержка всех самых популярных версий Windows XP, 7, 8, 10.
📌 ImageDupeless
Загрузить можно с Софт-портала
ImageDupeless - главное окно программы
Программа ImageDupeless позволяет находить дубликаты картинок в независимости от размера файлов, их формата, разрешения и пр. характеристик (она как бы за вас "посмотрит" все картинки и найдет похожие).
Также в программе есть весьма интересная функция записи изображений на CD диски (создание своеобразных CD галерей).
Примечание : для экономии времени вновь поступающие картинки сравнивайте с уже имеющейся галереей (так вы сэкономите кучу времени, т.к. полное сканирование всех картинок на диске — это значительно дольше, чем уже искать в созданной галереи).
Результат сравнения: обратите внимание, что разрешение и размер у картинок разный!
📌 Visual Similarity Duplicate Image Finder
Visual Similarity Duplicate Image Finder: главное окно
Программа использует продвинутые алгоритмы для сравнения графических образов, имеющихся на картинках и фотографиях. Благодаря этому удается найти похожие и одинаковые картинки, даже если у них разный формат (GIF, PNG, JPG и пр.) и разрешение.
Отмечу, что у пользователя есть опция для указания признака похожести (т.е. вы можете задать, скажем, найти только те картинки, которые схожи друг с другом на 95%).
После проведения поиска: вы сможете просмотреть все найденные дубли и вручную удалить все ненужное. Кстати, программа располагает рядом с друг другом 2 одинаковые изображения (пример см. выше), чтобы вы могли наглядно просмотреть разницу. Весьма удобно!
Для поиска аудио- и видео-файлов
📌 Audio Comparer (Электронное ухо)
Audio Comparer - программа прослушает почти 300 треков за 10 мин.
Audio Comparer — это не такое простое приложение для поиска дублей среди музыкальных файлов (MP3, MP2, MP1, WMA, AIF, WAV, WavPack, FLAC, APE, AAC и OGG), как это может показаться при первом взгляде.
Оно "слушает" музыку и сравнивает треки между собой по особому алгоритму: сравнение идет по аудио-дорожке, а не по размеру или названию файла (как это сделано во многих других аналогах).
Благодаря чему, одинаковые треки могут быть найдены даже в том случае, если они сохранены в разные форматы. Audio Comparer — это, своего рода, электронное ухо, которое может очень быстро прослушать всю вашу музыку.
Отмечу, что подобных программ достаточно мало, поэтому каждая заслуживает отдельного внимания! Рекомендую к знакомству!
📌 DupeGuru Music Edition
DupeGuru Music Edition - сканирование коллекции музыки
Весьма интересная программа dupeGuru Music Edition для поиска одинаковых и похожих музыкальных треков. В наличии есть фильтры для поиска: по битрейту, информации в тегах, продолжительности, размеру и т.д.
Поддерживаются все самые популярные форматы: MP3, WMA, AAC, WMA, OGG, FLAC. После произведенного поиска, найденные дубликаты можно либо удалить, либо перенести в другие каталоги.
Отметил бы также наличие русского языка и поддержку современных ОС Windows 7, 8, 10 (в т.ч. 64 bits).
📌 Music Duplicate Remover
Music Duplicate Remover - главное окно программы
Music Duplicate Remover — утилита позволяет легко и быстро находить копии аудио-файлов, расположенных в разных папках (дисках) и сохраненных в различных форматах.
Благодаря технологии "электронного уха", она способна прослушать все ваши композиции на диске, проанализировать их и предоставить вам отчет со всеми похожими треками (пример такого отчета показан на скриншоте выше).
Отмечу, что утилита отлично работает и со стандартными предустановками (т.е. после ее загрузки и запуска - нет нужды долго копаться в настройках, можно сразу же приступать к сканированию).
Примечание! Music Duplicate Remover поддерживает следующие форматы аудио: MP3, WMA, OGG, FLAC, APE, WAV.
📌 Duplicate Video Search
Duplicate Video Search - главное окно программы (настройки поиска)
Довольно мощная программа для удаления одинаковых видео, сохраненных в разных папках (подойдет тем, у кого много всяких видеороликов, музыкальных клипов, сборников топ-100 и пр.). Поможет "прошерстить" вашу коллекцию файлов и удалить все дубли.
Отмечу, что в программе используется технология уникального "слепка" (т.е. своего рода "электронный глаз"), которая позволяет находить похожие видео, даже если они сохранены в другой формат, у них другое разрешение и они сжаты другим кодеком.
- поддерживаются следующие форматы видео: AVI, MKV, 3GP, MPG, SWF, MP4, WMV, WTV и FLV (см. скрин выше);
- поиск полных копий видео и похожих (где отличное разрешение, битрейт, формат, кодек);
- программа автоматически выбирает видео с худшим качеством среди всех дублей (тем не менее, вы вручную можете указать, какую копию удалять);
- удобное и наглядное представление результатов поиска: миниатюры к каждому видео и путь до каталога, где оно хранится;
- прямо из окна программы можно либо просмотреть видео, либо удалить его.
📌 Video Comparer
Video Comparer - результаты поиска
Video Comparer — программа предназначена для поиска и сравнения видео на жестком диске. За относительно короткий промежуток времени, она может просмотреть все ваши видео и показать вам в удобной табличке все файлы, которые повторяют друг друга (полные дубли, похожие ролики, видео с одинаковым содержимым, но разным качеством и пр.).
Отмечу, что в программе есть различные фильтры, которые позволят, например, искать видео только определенного формата (или задать продолжительность видео).
Веб-мастерам или владельцам сайтов часто бывает необходимо сравнить два файла по содержимому. Из этой статьи вы узнаете как сравнить два файла между собой. Здесь описаны все известные мне способы для сравнения текстовых файлов и скрипты (html, css, php и так далее).
Способ 1. Meld
Meld - графический инструмент для получения различий и слияния двух файлов, двух каталогов. Meld — визуальный инструмент сравнения и объединения файлов и каталогов для Linux. Meld ориентирован, в первую очередь, для разработчиков. Однако он может оказаться полезным любому пользователю, нуждающемуся в хорошем инструменте для сравнения файлов и директорий.
В Meld вы можете сравнивать два или три файла, либо два или три каталога. Вы можете просматривать рабочую копию из популярных систем контроля версий, таких, таких как CVS, Subversion, Bazaar-NG и Mercurial. Meld представлен для большинства linux дистрибутивов (Ubuntu, Suse, Fedora и др.), и присутствует в их основных репозиториях.
Способ 2. Сравнение содержимого двух файлов в программе WinMerge.
Бесплатная программа WinMerge позволяет сравнивать не только содержимое файлов, она также сравнивает содержимое целых папок. WinMerge является Open Source инструментом сравнения и слияния для Windows. WinMerge может сравнивать как файлы, так и папки, отображая различия в визуальной текстовой форме, которые легко понять и обработать.
После установки, открываете пункт меню «Файл» — «Открыть». Выбираете файлы для сравнения. Для этого нажимаете на кнопку «Обзор» и выбираете файл. Выбрав файлы, нажимаете на кнопку «ОК».
В WinMerge можно также редактировать файлы. После закрытия окна сравнения, программа предложит сохранить изменения в файлах.
Способ 3. diff
diff - утилита сравнения файлов, выводящая разницу между двумя файлами.
Способ 4. Kompare
Kompare - отображает различия между файлами. Умеет сравнивать содержимое файлов или каталогов, а также создавать, показывать и применять файлы патчей. Kompare — это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:
Способ 5. Сравнение файлов в программе Total Commander
В Total Commander существует инструмент сравнения файлов по содержимому, где можно не только сравнить содержимое, но и редактировать его и копировать из одного файла в другой.
После запуска Total Commander – в одной из панелей выбираете (клавиша Insert) первый файл для сравнения – во второй панели открываете папку со вторым файлом и ставим на него курсор. Вызываем программу для сравнения: "Файлы→Сравнить по содержимому".
Для внесения изменений в файл достаточно нажать на кнопку «Редактировать». В программе доступны функции копирования и отката, поиска и изменение кодировки. Если вы внесли изменения в файл, то после закрытия окна сравнения, будет предложено сохранить изменения.
Способ 6. Сравнение файлов в Notepad++
Notepad++ не умеет сравнивать файлы. Для появления этого функционала в Notepad++ нужно установить плагин «Compare».
Запускаете редактор – переходите в пункт меню «Плагины» — «Plugin Manager» — «Show Plugin Manager». В новом окне выбираете плагин «Compare» и жмёте кнопку «Install».
После установки плагина откройте два файла и выбирите меню «Плагины» — «Compare» — «Compare (Alt+D)». Результат сравнения файлов будет представлен в отдельных панелях. Напротив строк, в которых найдены отличия будет стоять предупреждающий знак.
Способ 7. Сравнение файлов с помощью командной строки Windows
Сравнение с помощью командной строки Windows (cmd.exe) не позволяет редактировать файлы, но просто сравнить содержимое файлов, используя этот способ, вы можете.
Для вызова командной строки Windows перейдите «Пуск» — «Все программы» — «Стандартные» — «Командная строка» или нажмите клавиш "Windows+R", введите cmd и нажмите клавишу Enter.
В командной строке введите команду:
Способ 8. Сравнение двух текстовых файлов утилитой comm в Unix
Unix утилита comm входит в стандартную поставку всех Unix- дистрибутивов, таких как FreeBSD, GNU/Linux (пакет GNU Coreutils) и другие.
Программа comm используется для построчного сравнения двух текстовых файлов с отсортированными по алфавиту строками, в соответствии с используемой локалью. Для сортировки можно использовать утилиту sort.
При вызове без параметров рассматриваемая утилита будет выводить строки в трех столбцах: первый столбец будет содержать строки, присутствующие лишь в файле 1, второй столбец — строки, присутствующие лишь в файле 2, а третий столбец — строки, присутствующие в обоих файлах. Утилита поддерживает параметры -1, -2 и -3, позволяющие не выводить столбцы под соответствующими номерами. Статус завершения работы утилиты не зависит от результата распределения строк по столбцам; в случае успешного распределения строк утилита завершает работу с нулевым статусом, в случае возникновения любой ошибки — с ненулевым.
Базовый синтаксис команды выглядит следующим образом:
Параметры запуска: -1 Подавить вывод первой колонки; -2 Подавить вывод второй колонки; -3 Подавить вывод третьей; -i Нечувствительное к регистру сравнение строк.
Примеры запуска утилиты comm для сравнения двух файлов по содержимому:
В текстовых файлах часто встречаются нежелательные символы, такие как символ возврата каретки, символ конца строки в стиле Windows, символов пробела или табуляции. Самым надежным вариантом было бы отфильтровать все такие нежелательные символы, а поскольку данные являются строго числовыми, это довольно легко сделать, например, с помощью sed (пример вырезания нежелательных символов
мотивация: я переписываю doc -- текстовые файлы, которые будут обработаны позже. Новые источники теперь используют UTF-8. Большая часть источников одинакова. Мне нужно найти отличия.
детали: старые источники doc используют кодировку cp1250, новые источники используют UTF-8. Как новые, так и старые источники используют одни и те же окончания строк (CR+LF). Я использую версию Unicode приложения WinMerge (WinMergeU.exe), версия 2.12.4.0.
Это почти работает, но. Когда линии различаются, они первоначально помечаются как блок темно-желтым цветом, а различные части помечаются более светлым цветом. При перемещении курсора Красного блока там, панели ниже показывают другую часть.
однако блок текста отмечен темно-желтым цветом также в случаях, когда (представление Unicode) текст является тем же. Красный блок перемещается также в эти части файлов. В таком случае две панели ниже (которые показывают различия) содержат один и тот же текст, и ничто не помечено как разное. Смотрите рисунок ниже:
самая первая строка отличается -- это нормально. Но вторая строка визуально имеет то же содержание. Единственным символом вне диапазона ASCII является Ú там. Он имеет другое представление в закодированных источниках. Это приводит к тому, что линия отмечена как различная, но панели ниже не отмечают ничего на линии как разные.
Смотрите также после абзацев, которые точно такие же (только кодировка в источниках отличается, используется то же окончание строки).
похоже, что начальное сравнение было основано на двоичном представлении строк. Есть ли какие-либо настройки, чтобы сообщить WinMerge, что сравнение (я имею в виду маркировку блока) должно основываться на содержимом Unicode?
Я старался изо всех сил, но пока не повезло.
обновление: этот вопрос был для последней стабильной 2.12.4. Бета версия 2.13.22 отлично работает для меня. См.мой ответ ниже.
Я думаю, это действительно не должно быть задачей инструмент слияния, чтобы позволить слияние файлов, хранящихся в разных кодировках.
кодировка-это функция, которая сопоставляет байты (хранящиеся на диске или в памяти) с символами (отображаемыми на экране). К сожалению, по умолчанию кодировка файла не сохраняется вместе с файлом. Поэтому любая программа, которая хочет открыть файл и отобразить его содержимое нужно угадать кодировку. Хотя это иногда работает, это также ошибка процедуры лежа.
теперь наборы символов разных кодировок вообще не перекрываются. Итак, что должен делать инструмент слияния, если вы объединяете символ C из файла A в кодировке X в файл B в кодировке Y, если символ C не является частью набора символов кодировки Y?
таким образом, я думаю, что задача инструмента слияния должна заключаться в объединении двоичного содержимого. Все остальное-грязный хак и проклятый провал на каком-то уровне. (Производитель инструментов слияния может решить предоставить слияние уровней символов, которое также может работать большую часть времени. Но есть некоторые догадки.)
поэтому я также рекомендую вам сначала перевести старые файлы в UTF-8, а затем объединить их с новыми версиями.
когда я делаю сравнение на KDiff, используя один файл UTF8 и другой файл Unicode, я получаю следующее:
вот экран сравнения-обратите внимание, что кодировки в файлах разные, но файлы считаются равными из текста точка зрения:
просто для вашей информации. Вопрос был для последней стабильной 2.12.4. Я пробовал бета-версию 2.13.22, и она отлично работает для меня. См. разницу для точно таких же файлов - были удалены только первые строки в файлах. (Большое спасибо авторам.)
Я бы порекомендовал конвертация файлов в той же кодировке, прежде чем сравниваете.
Если вы работаете с системой контроля версий, я бы рекомендовал следующее:
- создать новую проверку файлов
- конвертировать все файлы в UTF-8
- совершил файлы
- скопируйте новые файлы через
- Использовать WinMerge
таким образом, вы получаете два коммита в истории-один для изменения кодировки а еще для изменения контента и WinMerge будет работать так, как ожидалось.
Как вариант File -> File Encoding. в WinMerge лежит? Позволяет самостоятельно устанавливать кодировку файлов.
Читайте также: