Tôi có thể sử dụng công cụ so sánh thư mục nào trên OS X?


45

Tôi đang tìm kiếm một công cụ có thể so sánh các thư mục, không chỉ các tập tin. Ngoài ra, điều quan trọng là có thể gọi công cụ từ dòng lệnh.

Sẽ thật tuyệt khi có một công cụ miễn phí, nếu không miễn phí vui lòng ghi rõ giá.

Câu trả lời:


5

Đối với tất cả các nhân viên của Google ... hãy xem Beyond So sánh quy tắc. Chi phí 30 $ hoặc 50 $ cho phiên bản Pro.


Tôi thường cố gắng tránh đề xuất giải pháp thương mại khi có các lựa chọn thay thế nguồn mở và miễn phí nhưng BeyondCompare là trường hợp đặc biệt đáng giá đến từng xu ... và cũng là đa nền tảng. Tôi đã sử dụng nó hơn 10 năm và chờ đợi để có phiên bản MacOS.
sorin

41

FileMerge (miễn phí), được gửi cùng với Xcode, cung cấp chế độ xem thư mục.
Một phiên bản dòng lệnh có sẵn thông qua opendiff ứng dụng Terminal.


2
Tôi muốn chọn câu trả lời này vì opendiffcó thể được coi là gần như "được đóng gói" với OS X nhưng khi tôi cố gắng tìm khác biệt hai thư mục, nó đã mở ra một khung nhìn xấu xí không dễ hiểu và tôi cũng không thể biết tôi phải làm thế nào hợp nhất hai tập tin trong chế độ xem tập tin. Tôi chắc chắn là có thể nhưng nếu tính năng cơ bản này không rõ ràng, tôi sẽ thích tìm kiếm thứ gì đó tốt hơn;)
sorin

23

Tiện ích tích hợp cho macOS và Linux

Nếu bạn không phiền khi sử dụng terminal, difflệnh có thể so sánh các thư mục.
Tiện ích này cũng có sẵn trong hầu hết các bản phân phối Linux.

diff -rq directory1/ directory2/

-rchỉ ra recurse thông qua các thư mục con và -qđưa ra đầu ra ngắn gọn (nghĩa là không hiển thị các khác biệt thực tế, chỉ cần lưu ý các tệp / thư mục khác nhau).

Các tùy chọn hữu ích khác là:
-sbáo cáo các tệp giống hệt nhau,
-ibỏ qua trường hợp trong nội dung tệp,
--ignore-file-name-casebỏ qua trường hợp khi so sánh tên tệp.

Nếu bạn muốn tránh các cảnh báo (chủ yếu là cảnh báo hữu ích) về sự khác biệt trong các .DS_Storetệp, thì hãy sử dụng:

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

17

Diffmerge phải đáp ứng tất cả các yêu cầu của bạn.


Tôi chỉ hy vọng rằng họ sẽ tạo ra một trình cài đặt có thể cài đặt các bộ khởi động dòng lệnh và cải thiện trải nghiệm cài đặt hiện tại.
sorin

2
Đây là một chủ đề cũ - nhưng tôi đã cài đặt nó qua brew cask install diffmergevà nó đã cài đặt mà không gặp vấn đề gì.
Rainer

Tháng 4 năm 2016: Nó vẫn được duy trì và vẫn là một trong những công cụ phát triển tiếp theo của tôi.
JRobert

4

Gần đây tôi đã mua một bản sao của Kính vạn hoa (khoảng $ 40 US). Đây là một ứng dụng sạch.

vimdiff cũng có sẵn thông qua dòng lệnh và có thể di động trên hầu hết các miền UNIXy.


Tôi đã sử dụng Kính vạn hoa được vài tháng rồi. Đáng giá. Nó thỉnh thoảng được bán.
Ian C.

Kính vạn hoa không cho phép bạn chỉnh sửa một tập tin, vô dụng!
mathieug

2

Công cụ tìm khác biệt đi kèm với Text Wrangler của Bare Bones Software có so sánh thư mục, mặc dù nó chỉ hiển thị các tệp nào trong cả hai thư mục và chỉ có trong mỗi thư mục. Khi bạn chọn một tệp trong cả hai bạn có thể chỉnh sửa bằng cách hợp nhất các thay đổi từng dòng với một lần bấm nút. Nó không cho phép bạn di chuyển các tập tin mặc dù. Bạn phải thực hiện việc này ở bên ngoài (ví dụ: thông qua Finder).
Tôi thấy nó là một trong những lựa chọn miễn phí tốt hơn.


2

Một công cụ gọn gàng khác để đạt được điều này là rsync, như được mô tả trên Unix & Linux StackExchange . Để so sánh hai thư mục bạn có thể làm

rsync -avun $SOURCE $TARGET

Và nếu bạn thực sự lo lắng về tính nhất quán của tập tin / bit rot thì cũng có tùy chọn c để so sánh tổng kiểm tra tập tin

rsync -avnc $SOURCE $TARGET

Tài liệu tham khảo tuyệt vời cho tính hữu dụng của nó trên tất cả các Unix.
dan


1

Giải pháp dễ nhất: Đồng bộ hóa các tệp bằng Dropbox hoặc tương tự, sau đó chỉ cần sử dụng WinMerge trên Windows.

Tiện ích FileMerge đi kèm với Xcode không so sánh các thư mục và không hợp nhất / chỉnh sửa.


1

Bạn nên thử các phần mềm mã nguồn mở mạnh mẽ meld . Phiên bản Mac có thể được tìm thấy tại Meld cho OSX . Nó hỗ trợ cả so sánh thư mục và tập tin và hoạt động tuyệt vời trong Mac.

Tôi đã nói để cải thiện câu trả lời này và giải thích tại sao meld là tốt. Nói chung, Meld là một phần mềm so sánh đầy đủ tính năng chủ yếu được sử dụng trong Gnome. Nó tốt hơn rất nhiều phần mềm được liệt kê ở đây vì

  1. nó là nguồn mở và miễn phí Vì vậy, bạn không cần phải lo lắng về phí hoặc bảo mật
  2. nếu không mạnh hơn, nó tinh vi như rất nhiều phần mềm đòi hỏi bạn rất nhiều tiền
  3. nó thân thiện với người dùng và không liên quan đến cấu hình phức tạp hoặc lệnh gõ trong thiết bị đầu cuối. Bạn sẽ có thể sử dụng nó ngay lập tức khi bạn cài đặt nó.

Phần không tốt là nó được phát triển theo GTK. Vì vậy, đôi khi nó không giống như các chương trình MAC tự nhiên. Bên cạnh đó, các phiên bản MAC cũ có một chút lỗi. Nhưng phiên bản 3.19.2 mới nhất mà tôi hiện đang sử dụng hoạt động rất tốt và tôi chưa bao giờ gặp sự cố.


0

Tôi đã so sánh các cấu trúc thư mục lớn (DVD) trong quá khứ và tôi đã phát triển một tiện ích dòng lệnh để làm điều này. Gần đây tôi đã làm cho tiện ích (CrcCheckCopy) miễn phí và đa nền tảng (MacOS và Windows).

CrcCheckCopy quét thư mục nguồn và tạo một tệp chứa tem CRC của tất cả các tệp. Sau đó, tập tin này được sử dụng để so sánh thư mục đích.

Bạn có thể lấy nó từ đây: https://www.starmessagesoftware.com/crccheckcopy Phản hồi của bạn bạn được đánh giá cao.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.