Які інструменти порівняння каталогів я можу використовувати в OS X?


45

Я шукаю інструмент, який здатний порівнювати каталоги, а не лише файли. Також важливо вміти викликати інструмент з командного рядка.

Було б чудово мати безкоштовний інструмент, якщо не безкоштовно, будь ласка, вкажіть ціну.

Відповіді:


5

Для всіх googlers ... перевірити правила Порівнювати це. Витрати 30 $ або 50 $ для Pro версії.


Я, як правило, намагаюся уникати комерційного рішення, коли існують безкоштовні та відкриті альтернативи, але BeyondCompare - це особливий випадок, коли він коштує кожної копійки ... Я використовую його більше 10 років і довго чекав, щоб отримати версію MacOS.
sorin

41

FileMerge (безкоштовно), що постачається з Xcode, пропонує перегляд каталогу.
Версія командного рядка доступна через відкриття програми Terminal.


2
Я хотів би вибрати цю відповідь, тому що це opendiffможна вважати майже "в комплекті" з OS X, але коли я намагаюся розрізняти дві папки, це відкрило некрасивий погляд, який було не так просто зрозуміти, а також я не зміг зрозуміти, як мені це зробити об'єднати два файли у вигляді файлу. Я впевнений, що це можливо, але якщо ця основна особливість не є очевидною, я вважаю за краще шукати щось краще;)
sorin

23

Вбудована утиліта для macOS та Linux

Якщо ви не заперечуєте проти використання терміналу, diffкоманда може порівнювати каталоги.
Ця утиліта також доступна в більшості дистрибутивів Linux.

diff -rq directory1/ directory2/

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

Інші корисні варіанти:
-sповідомляти про однакові файли,
-iігнорувати регістр у вмісті файлу,
--ignore-file-name-caseігнорувати регістр при порівнянні імен файлів.

Якщо ви хочете уникати попереджень (переважно попереджень про корисність) про відмінності у .DS_Storeфайлах, тоді використовуйте:

diff -rq directory1/ directory2/ | grep -v .DS_Store

17

Розбіг повинен відповідати всім вашим вимогам.


Я просто сподіваюся, що вони зроблять інсталятор, який зможе встановити пускачі командного рядка та покращити поточний досвід встановлення.
sorin

2
Це стара тема - але я встановив її через brew cask install diffmergeі встановив без проблем.
Райнер

Квітень 2016: Він все ще підтримується і досі залишається одним із моїх інструментів розвитку.
Дж. Роберт

4

Нещодавно я придбав копію калейдоскопа (приблизно 40 доларів США). Це чистий додаток.

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


Я використовую Калейдоскоп вже кілька місяців. Варто ціну. Він продається зрідка.
Ян Ч.

Калейдоскоп не дозволяє редагувати файл, марний!
mathieug

3

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

rsync -avun $SOURCE $TARGET

І якщо ви дійсно стурбовані консистенцією файлів / бітовою гнитлю, є також можливість порівняння контрольних сум файлів

rsync -avnc $SOURCE $TARGET

Відмінна орієнтир щодо його корисності для всіх Unixes 🙏🏻.
дан

2

У інструменті "diff", який постачається з Text Wrangler Software Bare Bones, є порівняння каталогів, хоча він лише показує, які файли є в обох каталогах, а які - лише в кожному з каталогів. Вибираючи файл, який знаходиться в обох, ви можете редагувати, об'єднуючи зміни рядки за рядком одним натисканням кнопки. Однак це не дозволяє переміщувати файли. Це потрібно робити зовні (наприклад, через Finder).
Я вважаю це одним з кращих безкоштовних варіантів.



1

Найпростіше рішення: синхронізуйте файли за допомогою Dropbox або подібного, а потім просто використовуйте WinMerge в Windows.

Утиліта FileMerge, яка постачається з Xcode, не порівнює папки і не робить об'єднання / редагування.


1

Ви повинні спробувати потужний відкритим вихідним кодом програмного забезпечення оплавлення . Версію для Mac можна знайти на Meld for 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 Ваші відгуки вас дуже оцінять.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.