Вопрос Инструмент сравнения файлов и каталогов?


Я ищу что-то, что будет сравнивать каталоги и файлы, такие как Beyond Compare для окон.

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


142
2017-11-10 12:15


происхождения


Вам нужен только список файлов или фактическое содержимое каждого файла? - Martin Ueding
Мне нужен список файлов и, если возможно, различное содержимое между файлами с одним и тем же путем. - isoman
Было бы удобно, если бы Инструмент GUI позволяет скрытие папок и файлов, которые идентичны, Это сделало бы намного легче сосредоточиться на нечетных папках и файлах. Кто-нибудь знает инструмент, который поддерживает эту функцию? - JJD
Посмотри на унисон, Помимо сравнения, подход «универсальный магазин делает все», в то время как унисон фокусируется на обработке обхода дерева, сохраняя состояние и распространяя изменения, покрывая Beyond Сравнить функции делегируя такие вещи, как diff, 3-way merge и т. д., чтобы ваша любимая программа работала на уровне файлов. Unison - это бесплатное, очень надежное и зрелое программное обеспечение, которое позволяет быстро обнаруживать и синхронизировать огромные деревья, через сеть между различными ОС и т. Д. Сначала прочитайте документ, особенно в Windows. - Stéphane Gourichon
У emacs есть инструмент сравнения каталогов. Как и все emacs, глазная конфета - это то, что означает «конфетка для глаз», но она показывает контекстуальную помощь с клавишами, позволяет с помощью нескольких рекурсивных анализов клавиш скрывать идентичные файлы или даже поддиры, интерактивно выбирать файлы для отображения цвета -кодированные различия с различными опциями, интерактивное слияние, распространение или выполнение произвольных изменений в файлах, легко перейти к следующему файлу или директории, отслеживая состояние, со всеми обычными средствами редактирования. - Stéphane Gourichon


ответы:


сливатьсяinstall meld

Meld - это инструмент, который может сравнивать и объединять файлы и каталоги. Это аналоговый графический интерфейс стандарта diff  install diffutils а также patch  install patch инструменты командной строки. (Видеть man diff а также патч человека для более подробной информации об этих)

enter image description here

Кроме того, множество систем управления источниками (например, bzr  install bzr-gtk или git  install git) имеют возможность создавать различия между версиями.


169
2017-11-10 12:28



Мелд УДИВИТЕЛЬНО. Я использую его как свой источник diff diff. - Matt Joiner
Просто попробовал в большой папке - 4 ГБ, 2000 файлов. Функциональность meld по желанию. Но для этой папки meld чрезвычайно медленный, и пользовательский интерфейс не отвечает (блоки). Теперь с помощью rsync. - geekQ
Также отлично работает при сравнении текстовых файлов бок о бок или даже копировании папок. Лучший интерфейс, который я видел! - Stefan Rogin
@geekQ как быстрая альтернатива, способная обрабатывать как можно большую папку, как вы хотите мгновенно, см. beyond compare ниже. превосходит meld imho - Blauhirn
Meld падает каждый раз, когда я хочу выбрать папку: / У меня самая новая версия availabe в моем репозитории дистрибутива (Ubuntu 14.04) - Youda008


Дифф - твой друг.

diff -ur path1 path2

Это будет сравнивать все файлы, которые являются общими между path1 и path2.

Если вы меняете -ur в -urN то это также покажет содержимое файлов, которые присутствуют только в одном из путей.


42
2017-10-04 17:43



Установлен colordiff и использовали colordiff -ur path1 path2 - warvariuc
Не работает в cygwin. - Tomáš Zato


«Beyond Compare» также доступен для Linux.

Проверьте их URL-адрес загрузки: http://www.scootersoftware.com/download.php


21
2017-11-10 12:23



Beyond Compare особенно полезно при выполнении ssh (с ключом или паролем) на удаленный хост и сравнении этого с локальной копией. - brianlmerritt


Использовать diff команда:

diff -u file1 file2

diff -u выбирает формат с несколькими линиями контекста. Равнина diff file1 file2 только перечисляет разные строки. Есть еще много опций для управления выходным форматом, игнорирование различий в пробелах и т. Д.

Если вы хотите записать вывод в файл, перенаправьте его:

diff -u file1 file2 >file1-file2.diff

13
2017-10-07 20:05





Gnome Commanderinstall Gnome Commander

Интерфейс может быть не очень сексуальным, но он чрезвычайно мощный!

alt text

И если вы привыкли к другому * Commander (например, Norton, или тому подобное), вы не будете потеряны.


12
2017-11-10 13:09



Я не использовал его для сравнения 2 файлов, но я использовал его, чтобы указать, какие файлы были разными, в сравнении с каталогами. Это особенно полезно при сортировке фотографий ;-) - Huygens


Инструменты командной строки

Вдохновлен эта запись в блоге,

разница

Список различных файлов:

diff -qr folder1 folder2

Листинг также содержимого:

diff -Naur folder1 folder2

Rsync

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

rsync -rvnc --delete folder1 server:/path/to/folder2

Вы можете опустить c если вы хотите сравнить файлы на основе временных меток и размеров файлов, чтобы ускорить все:

rsync -rvn --delete folder1 server:/path/to/folder2

10
2017-12-25 19:22





Krusaderinstall krusader

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

Krusader

Чтобы сравнить содержимое файла, вы просто отмечаете два файла, выберите «файл»> «сравнить контент», и их сравнивают по буквам. инструмент сравнения по умолчанию, используемый krusader, является инструментом KDE по умолчанию "Kompare«Вы можете установить krusader для использования любого другого инструмента сравнения - например, одного из вышеперечисленных.

Это самое полное решение, которое я когда-либо нашел, и это очень удобно. И он поддерживает все функции keybindungs, используемые командиром полуночи (синтаксис командующего norton).


9
2017-11-10 18:39



Вы также можете использовать «Инструменты -> Синхронизировать каталоги», чтобы получить представление о рекурсивных изменениях файлов двух панелей. - Angelos Pikoulas
к сожалению, синхронизатор в krusader не поддерживается: bugs.kde.org/show_bug.cgi?id=270150#c7, Существует ли альтернатива, которая активно поддерживается? - rubo77
@ rubo77: эта ошибка была исправлена ​​тем временем. - mivk


KDiff3  install kdiff3

Это графический интерфейс для пользователей KDE (или если вы не против использования приложений Qt).

kdiff3

Есть также dirdiff  install dirdiff для каталогов.


9
2017-11-10 12:59