Какие инструменты сравнения каталогов я могу использовать в OS X?

46

Я ищу инструмент, который может сравнивать каталоги, а не только файлы. Также важно иметь возможность вызывать инструмент из командной строки.

Было бы здорово иметь бесплатный инструмент, если не бесплатный, пожалуйста, укажите цену.

Сорин
источник

Ответы:

5

Для всех гуглов ... ознакомьтесь с правилами Beyond Compare it. Стоит 30 $ или 50 $ за Pro версию.

Motsel
источник
Я обычно стараюсь не рекомендовать коммерческое решение, когда существуют альтернативы с открытым и открытым исходным кодом, но BeyondCompare - это особый случай, когда он стоит каждого копейки ... и также является мультиплатформенным. Я использую его более 10 лет и долго ждал, чтобы получить версию для MacOS.
сорин
41

FileMerge (бесплатно), поставляется с XCode, предлагает представление каталога.
Версия для командной строки доступна через приложение Terminal oppiff.

kraymer
источник
2
Я хотел бы выбрать этот ответ, потому что opendiffего можно считать почти «связанным» с OS X, но когда я пытаюсь разглядеть две папки, он открыл уродливое представление, которое было не так легко понять, а также я не смог понять, как мне это сделать. объединить два файла в режиме просмотра файлов. Я уверен, что это возможно, но если эта базовая особенность не очевидна, я предпочту поискать что-нибудь получше;)
сорин
23

Встроенная утилита для MacOS и Linux

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

diff -rq directory1/ directory2/

-rуказывает на recurse через подкаталоги и -qдает краткий вывод (т.е. не показывает фактические различия, просто обратите внимание, какие файлы / каталоги отличаются).

Другие полезные опции:
-sсообщать об идентичных файлах,
-iигнорировать регистр в содержимом файла,
--ignore-file-name-caseигнорировать регистр при сравнении имен файлов.

Если вы хотите избежать предупреждений (в основном, полезности) о различиях в .DS_Storeфайлах, используйте:

diff -rq directory1/ directory2/ | grep -v .DS_Store
Адам Паркин
источник
17

Diffmerge должен соответствовать всем вашим требованиям.

JRobert
источник
Я просто надеюсь, что они сделают установщик, который сможет установить средства запуска командной строки и улучшить текущую установку.
сорин
2
Это старая тема - но я установил ее через brew cask install diffmergeи установил без проблем.
Райнер
Апрель 2016: Он все еще поддерживается, и все еще является одним из моих инструментов разработки.
JRobert
4

Недавно я купил копию Калейдоскопа (около 40 долларов США). Это чистое приложение.

vimdiff также доступен через командную строку и переносим в большинстве доменов UNIXy.

Nate
источник
Я использую калейдоскоп уже несколько месяцев. Стоит цена. Он поступает в продажу изредка.
Ян С.
Калейдоскоп не позволяет редактировать файл, бесполезно!
mathieug
3

Другой полезный инструмент для достижения этой цели - rsync, как описано в Unix & Linux StackExchange . Для сравнения двух папок вы можете сделать

rsync -avun $SOURCE $TARGET

И если вы действительно беспокоитесь о согласованности файлов / битовой гнили, есть также опция c для сравнения контрольных сумм файлов.

rsync -avnc $SOURCE $TARGET
N1000
источник
Отличная ссылка для его полезности на всех Unixes 🙏🏻.
дан
2

Инструмент сравнения, который поставляется вместе с Text Wrangler от Bare Bones Software, имеет сравнение каталогов, хотя он показывает только, какие файлы находятся в обоих каталогах, а какие - только в каждом из каталогов. Когда вы выбираете файл, который находится в обоих, вы можете редактировать, объединяя изменения построчно одним нажатием кнопки. Это не позволяет вам перемещать файлы, хотя. Вы должны сделать это извне (например, через Finder).
Я считаю, что это один из лучших бесплатных вариантов.

Джейсон С
источник
1

Самое простое решение: синхронизируйте файлы с помощью Dropbox или аналогичного, а затем просто используйте WinMerge в Windows.

Утилита FileMerge, которая поставляется с Xcode, не сравнивает папки и не выполняет слияние / редактирование.

Дж. Клайн
источник
1

Вы должны попробовать мощный открытым исходным кодом программного обеспечения оплавления . Версию Mac можно найти на Meld для OSX . Он поддерживает сравнение каталогов и файлов и отлично работает под Mac.

Мне сказали улучшить этот ответ и объяснить, почему это хорошо. Вообще говоря, Meld - это полнофункциональное программное обеспечение для сравнения, в основном используемое в GNOME. Это лучше, чем многие программы, перечисленные здесь, потому что

  1. это бесплатно и с открытым исходным кодом. Таким образом, вам не нужно беспокоиться о плате или безопасности
  2. если не более мощный, он такой же сложный, как много программного обеспечения, которое требует много денег
  3. это удобно для пользователя и не требует сложной конфигурации или ввода команды в терминале. Вы должны иметь возможность использовать его сразу после установки.

Часть, что это не так хорошо, может быть, что она разработана под GTK. Так что иногда это не похоже на природу программ MAC. Кроме того, старые версии MAC были немного глючными. Но последняя версия 3.19.2, которую я сейчас использую, прекрасно работает, и у меня никогда не возникало проблем.

боб
источник
0

В прошлом я сравнивал большие структуры папок (DVD) и для этого разработал утилиту командной строки. Недавно я сделал утилиту (CrcCheckCopy) бесплатной и кроссплатформенной (MacOS и Windows).

CrcCheckCopy сканирует исходную папку и создает файл, содержащий метки CRC всех файлов. Затем этот файл используется для сравнения целевой папки.

Вы можете получить его здесь: https://www.starmessagesoftware.com/crccheckcopy Ваш отзыв вам будет очень важен.

Майк
источник