Trong các shell hỗ trợ Substutition Process (xem trong Q317819 ), diff
có thể được cung cấp đầu ra của bất kỳ lệnh nào tạo ra biểu diễn văn bản - ví dụ exiftool
:
diff -u <(exiftool -a -v one.pdf) <(exiftool -a -v two.pdf)
Đề xuất của Stefanstrings
cũng tạo ra một đại diện văn bản và có thể được sử dụng theo cách tương tự:
diff -u <(strings one.pdf) <(strings two.pdf)
Đầu ra từ exiftool
hoặc strings
tương đối dễ đọc, nhưng không đại diện cho toàn bộ tệp. exiftool
chỉ hiển thị siêu dữ liệu và strings
chỉ hiển thị các trích đoạn có 4 hoặc nhiều byte văn bản ASCII hợp lệ; những khác biệt không được công nhận là siêu dữ liệu hoặc chuỗi ASCII sẽ không được tìm thấy. Một đại diện văn bản không thể đọc được nhưng đầy đủ có thể được thực hiện với od
:
diff -u <(od -vcw one.pdf) <(od -vcw two.pdf)
(Nếu od
không có sẵn, một đại diện văn bản thậm chí ít có thể đọc nhưng vẫn hoàn toàn có thể được thực hiện với hexdump
hoặc hexcat
, trong MacPorts , việc thực hiện GNU của od
tôi được cài đặt như god
. Không phải tất cả việc triển khai hỗ trợ các tùy chọn tương tự.)
Phương pháp rõ ràng nhất có sẵn để xem tất cả các khác biệt và xem ý nghĩa của càng nhiều sự khác biệt càng tốt là sử dụng từng phương thức này trên cùng hai tệp.
Tôi tin rằng mọi HĐH máy tính để bàn hiện đại khác ngoài Windows đều có vỏ hỗ trợ Thay thế quy trình được cài đặt theo mặc định; Một số shell như vậy có sẵn cho Windows, nhưng bạn sẽ phải vượt qua một số vòng để chúng hoạt động.
diff
tôi giả sử bạn đang sử dụng một số loại Unix?