2

Нам нужно сравнить содержимое каждого из 2-х файлов .zip, которые у нас есть. Каждый файл .zip имеет разные расширения. Каждый файл .zip также содержит другой файл .zip и пару подкаталогов.

У нас нет роскоши использовать утилиту zipcomp . Как сравнить все файлы в 2 файлах почтового индекса и отображать идентичные файлы matching.txt выходной файл и не идентичные файлы , non-matching.txt выходной файл?

Вся идея состоит в том, чтобы выяснить, какие файлы в одном zip-файле, созданном сборкой, были изменены / изменены в другой последующей сборке.

1 ответ1

4

Команда unzip -lv file.zip печатает содержимое file.zip , включая CRC32 каждого файла в архиве (получите unzip для Windows по адресу http://info-zip.org или Sourceforge).

Имея это, вы можете просто использовать

unzip -lv file1.zip > list1.txt
unzip -lv file2.zip > list2.txt

и сравните содержимое list1.txt list2.txt с помощью таких утилит, как diff или diffuse . Если вам нужен более автоматизированный подход, вы можете написать простой Perl или Python скрипт для сравнения этих файлов листинга (подсказка - используйте хэш Perl или словарь Python для каждого файла CRC32, который был напечатан unzip -lv .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .