Это не особенно элегантно, но вы можете использовать приложение FileMerge, которое поставляется с инструментами разработчика Mac OS X, для сравнения содержимого zip-файлов с помощью пользовательского фильтра.
Создать скрипт ~/bin/zip_filemerge_filter.bash
с содержанием:
#!/bin/bash
##
# List the size, CR-32 checksum, and file path of each file in a zip archive,
# sorted in order by file path.
##
unzip -v -l "${1}" | cut -c 1-9,59-,49-57 | sort -k3
exit $?
Сделать скрипт исполняемым (chmod +x ~/bin/zip_filemerge_filter.bash
).
Откройте FileMerge, откройте «Настройки» и перейдите на вкладку «Фильтры». Добавьте элемент в список с помощью:
Расширение: "zip", Фильтр: "~ / bin / zip_filemerge_filter.bash $ (FILE)", Отображение: Отфильтровано, Применить *: Нет (я также добавил файлер для файлов .jar и .war.)
Затем используйте FileMerge (или оболочку командной строки «opendiff»), чтобы сравнить два файла .zip.
Это не позволит вам разграничить содержимое файлов в zip-архивах, но позволит вам быстро увидеть, какие файлы присутствуют в одном только архиве, а какие существуют в обоих, но имеют разное содержимое (т.е. разный размер и / или контрольную сумму). ).