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

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

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

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

Чтобы определить, в чем различаются файлы `master’ и `backup’, наберите:

$ cmp master backup [Enter]

Чтобы сравнить два файла и получить отчет о различиях в них, используйте утилиту diff. Отчет о различиях форматируется таким образом, чтобы другие утилиты (например, patch) могли использовать его, чтобы сделать сравниваемые файлы идентичными. В качестве аргументов для diff нужно указать имена сравниваемых файлов.

Чтобы сравнить файлы `manuscript.old’ и `manuscript.new’, введите:

$ diff manuscript.old manuscript.new [Enter]

Отчет о различиях выводится в файл стандартного вывода; чтобы сохранить его в файл на диске, перенаправьте вывод в файл:

$ diff manuscript.old manuscript.new > manuscript.diff [Enter]

В этом случае отчет будет сохранен в файле `manuscript.diff’.

Чтобы нагляднее увидеть различия в двух файлах, используйте команду sdiff; вместо генерации отчета о различиях, она выводит файлы в две колонки, разделяемые пробелами. Различающиеся строки разделяются `|’; строки, встречающиеся только в первом файле, заканчиваются ` ‘.

Чтобы сравнить файлы `laurel’ и `hardy’ на экране, введите:

$ sdiff laurel hardy less [Enter]|

Для одновременного сравнения трех файлов используйте diff3.

Чтобы вывести отчет о различиях между файлами `larry’, `curly’, и `moe’ в файл `stooges’, введите:

Источник

9 лучших инструментов для сравнения и различения файлов для Linux

При написании программных файлов или обычных текстовых файлов программисты и писатели иногда хотят узнать разницу между двумя файлами или двумя версиями одного и того же файла. Когда вы сравниваете два компьютерных файла в Linux, разница между их содержимым называется различием. Это описание родилось из ссылки на вывод diff, хорошо известной утилиты сравнения файлов командной строки Unix.

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

1. Команда diff

Мне нравится начинать с оригинального инструмента командной строки Unix, который показывает разницу между двумя компьютерными файлами. Diff прост и удобен в использовании, он предустановлен в большинстве дистрибутивов Linux. Он сравнивает файлы построчно и выводит разницу между ними.

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

Есть несколько оболочек для инструмента сравнения, которые расширяют его функциональность, в том числе:

Colordiff — это сценарий Perl, который производит тот же вывод, что и diff, но с выделением цвета и синтаксиса. Имеет настраиваемые цветовые схемы.

Читайте также  Драйвера для клавиатуры ноутбука hp compaq

Вы можете установить Colordiff в своих системах Linux, используя инструменты менеджера пакетов по умолчанию, называемые apt-get, как показано.

Вы можете проверить ручной ввод для Colordiff, как показано.

Утилита wdiff — это интерфейс для команды diff, используемой для пословного сравнения файлов. Эта программа очень полезна при сравнении двух текстов для измененных слов и для которых были добавлены абзацы.

Чтобы установить wdiff в ваших системах Linux, запустите:

Используйте руководство по wdiff, чтобы узнать, как использовать его в Linux.

2. Команда Vimdiff

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

Посетите домашнюю страницу: http://vimdoc.sourceforge.net/htmldoc/diff.html

Посмотрев старые инструменты сравнения, давайте быстро перейдем к некоторым инструментам сравнения с графическим интерфейсом, доступным в Linux.

3. Компаре

Kompare — это оболочка графического интерфейса diff, которая позволяет пользователям просматривать различия между файлами, а также объединять их.

Некоторые из его функций включают:

  1. Поддерживает несколько форматов различий.
  2. Поддерживает сравнение каталогов
  3. Поддерживает чтение файлов различий.
  4. Настраиваемый интерфейс
  5. Создание и применение исправлений к исходным файлам

Посетите домашнюю страницу: https://www.kde.org/applications/development/kompare/

4. DiffMerge

DiffMerge — это кроссплатформенное приложение с графическим интерфейсом для сравнения и объединения файлов. Он имеет два механизма функциональности: механизм Diff, который показывает разницу между двумя файлами, который поддерживает выделение и редактирование внутри строк, и механизм слияния, который выводит измененные строки между тремя файлами.

Он имеет следующие особенности:

  1. Поддерживает сравнение каталогов
  2. Интеграция с файловым браузером
  3. Широкие возможности настройки

Посетите домашнюю страницу: https://sourcegear.com/diffmerge/

5. Meld — инструмент различий

Meld — это легкий инструмент для сравнения и слияния с графическим интерфейсом. Это позволяет пользователям сравнивать файлы, каталоги и программы с контролем версий. Созданный специально для разработчиков, он обладает следующими функциями:

  1. Двустороннее и трехстороннее сравнение файлов и каталогов
  2. Обновление сравнения файлов по мере того, как пользователи вводят больше слов
  3. Облегчает слияние с помощью режима автоматического слияния и действий с измененными блоками.
  4. Простое сравнение с использованием визуализаций
  5. Поддерживает Git, Mercurial, Subversion, Bazaar и многие другие.

Посетите домашнюю страницу: http://meldmerge.org/

6. Diffuse — Инструмент Diff с графическим интерфейсом пользователя

Diffuse — еще один популярный, бесплатный, небольшой и простой инструмент сравнения и слияния с графическим интерфейсом пользователя, который вы можете использовать в Linux. Написанный на Python, он предлагает две основные функции, а именно: сравнение файлов и контроль версий, что позволяет редактировать файлы, объединять файлы, а также выводить разницу между файлами.

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

  1. Подсветка синтаксиса
  2. Сочетания клавиш для удобной навигации.
  3. Поддерживает неограниченное количество отмен.
  4. Поддержка Unicode
  5. Поддерживает Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK и Monotone.

Посетите домашнюю страницу: http://diffuse.sourceforge.net/

7. XXdiff — Инструмент различения и слияния

XXdiff — это бесплатный мощный инструмент для сравнения и слияния файлов и каталогов, который работает в Unix-подобных операционных системах, таких как Linux, Solaris, HP/UX, IRIX, DEC Tru64. Одним из ограничений XXdiff является отсутствие поддержки файлов Unicode и встроенного редактирования файлов diff.

Читайте также  Как сделать загрузочный диск на ноутбуке hp

Он имеет следующий список функций:

  1. Неглубокое и рекурсивное сравнение двух, трех файлов или двух каталогов
  2. Выделение разницы по горизонтали
  3. Интерактивное объединение файлов и сохранение результата
  4. Поддерживает объединение обзоров/контроль.
  5. Поддерживает внешние инструменты сравнения, такие как GNU diff, SIG diff, Cleareddiff и многие другие.
  6. Возможность расширения с помощью скриптов.
  7. Полностью настраивается с использованием файла ресурсов и множества других незначительных функций.

Посетите домашнюю страницу: http://furius.ca/xxdiff/

8. KDiff3 — — Инструмент «Различие и слияние»

KDiff3 — еще один крутой кроссплатформенный инструмент для сравнения и слияния, созданный на основе KDevelop. Он работает на всех Unix-подобных платформах, включая Linux и Mac OS X, Windows.

Он может сравнивать или объединять от двух до трех файлов или каталогов и имеет следующие примечательные особенности:

  1. Обозначает различия построчно и посимвольно.
  2. Поддерживает автоматическое слияние
  3. Встроенный редактор для разрешения конфликтов слияния
  4. Поддерживает Unicode, UTF-8 и многие другие кодеки.
  5. Позволяет печатать различия.
  6. Поддержка интеграции с проводником Windows
  7. Также поддерживает автоматическое определение с помощью пометки порядка байтов «BOM».
  8. Поддерживает ручное выравнивание линий.
  9. Интуитивно понятный графический интерфейс и многое другое.

Посетите домашнюю страницу: http://kdiff3.sourceforge.net/

9. TkDiff

TkDiff также является кроссплатформенной, простой в использовании оболочкой с графическим интерфейсом для инструмента Unix diff. Он обеспечивает параллельный обзор различий между двумя входными файлами. Он может работать в Linux, Windows и Mac OS X.

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

Посетите домашнюю страницу: https://sourceforge.net/projects/tkdiff/

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

Источник

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

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

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

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

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

$ diff опции файл1 файл2

Можно передать больше двух файлов, если это нужно. Перед тем как перейти к примерам, давайте рассмотрим опции утилиты:

  • -q — выводить только отличия файлов;
  • -s — выводить только совпадающие части;
  • — выводить нужное количество строк после совпадений;
  • -u — выводить только нужное количество строк после отличий;
  • -y — выводить в две колонки;
  • -e — вывод в формате ed скрипта;
  • -n — вывод в формате RCS;
  • -a — сравнивать файлы как текстовые, даже если они не текстовые;
  • -t — заменить табуляции на пробелы в выводе;
  • -l — разделить на страницы и добавить поддержку листания;
  • -r — рекурсивное сравнение папок;
  • -i — игнорировать регистр;
  • -E — игнорировать изменения в табуляциях;
  • -Z — не учитывать пробелы в конце строки;
  • -b — не учитывать пробелы;
  • -B — не учитывать пустые строки.
Читайте также  Ноутбук hp инструкции по настройке

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

  • a — добавлена;
  • d — удалена;
  • c — изменена.

К тому же, линии, которые отличаются, будут обозначаться символом .

Вот содержимое наших тестовых файлов:

Теперь давайте выполним сравнение файлов diff:

diff file1 file2

В результате мы получим строчку: 2,3c2,4. Она означает, что строки 2 и 3 были изменены. Вы можете использовать опции для игнорирования регистра:

diff -i file1 file2

Можно сделать вывод в две колонки:

diff -y file1 file2

А с помощью опции -u вы можете создать патч, который потом может быть наложен на такой же файл другим пользователем:

diff -u file1 file2

Чтобы обработать несколько файлов в папке удобно использовать опцию -r:

Для удобства, вы можете перенаправить вывод утилиты сразу в файл:

diff -u file1 file2 > file.patch

Как видите, все очень просто. Но не очень удобно. Более приятно использовать графические инструменты.

Сравнение файлов Linux с помощью GUI

Существует несколько отличных инструментов для сравнения файлов в linux в графическом интерфейсе. Вы без труда разберетесь как их использовать. Давайте рассмотрим несколько из них:

1. Kompare

Kompare — это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Кроме сравнения файлов утилита поддерживает сравнение каталогов и позволяет создавать и применять патчи к файлам.

2. Meld

Это легкий инструмент для сравнения и объединения файлов. Он позволяет сравнивать файлы, каталоги, а также выполнять функции системы контроля версий. Программа создана для разработчиков и позволяет сравнивать до трёх файлов. Можно сравнивать каталоги и автоматически объединять сравниваемые файлы. Кроме того поддерживаются такие системы контроля версий, как Git.

3. Diffuse

Diffuse — еще один популярный и достаточно простой инструмент для сравнения и слияния файлов. Он написан на Python 2. Поэтому в современных версиях Ubuntu программу будет сложно установить. Поддерживается две основные возможности — сравнение файлов и управление версиями. Вы можете редактировать файлы прямо во время просмотра.

4. KDiff3

KDiff3 — еще один отличный, свободный инструмент для сравнения файлов в окружении рабочего стола KDE. Он входит в набор программ KDevelop и работает на всех платформах, включая Windows и MacOS. Можно выполнить сравнение до трех файлов Linux или даже сравнить каталоги. Кроме того, есть поддержка слияния и ручного выравнивания.

5. TkDiff

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

Выводы

В этой статье мы рассмотрели как выполняется сравнение файлов linux с помощью терминала, как создавать патчи, а также сделали небольшой обзор лучших графических утилит для сравнения файлов. А какие инструменты для сравнения используете вы? Напишите в комментариях!

Источник

Mac OS X Hints
Adblock
detector