De acordo com man unzip
:
NAME
unzip - list, test and extract compressed files in a ZIP ar‐
chive
SYNOPSIS
unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip]
[file(s) ...] [-x xfile(s) ...] [-d exdir]
[file(s)]
An optional list of archive members to be processed,
separated by spaces. (VMS versions compiled with
VMSCLI defined must delimit files with commas instead.
See -v in OPTIONS below.) Regular expressions (wild‐
cards) may be used to match multiple members; see
above. Again, be sure to quote expressions that would
otherwise be expanded or modified by the operating sys‐
tem.
Em outras palavras, os argumentos dados após o nome do arquivo são considerados como a lista de arquivos que você deseja extrair:
$ unzip A.zip B.zip C.zip
Se você quiser comparar o conteúdo de dois arquivos zip, você poderia apenas listar os arquivos em cada arquivo e comparar as listas. As opções -lqq
farão com que unzip
liste os arquivos em um arquivo:
$ unzip -lqq A.zip
424 2013-03-24 04:39 B.zip
424 2013-03-24 04:39 C.zip
424 2013-03-24 04:39 d.txt
Então, para comparar dois arquivos, liste os arquivos em cada um, salve em um arquivo de texto e compare os arquivos de texto:
$ unzip -lqq A.zip | sort > A_files.txt
$ unzip -lqq D.zip | sort > D_files.txt
$ diff A_files.txt D_files.txt | grep '<\|>'
< 0 2013-03-24 04:57 only_in_A.txt
> 0 2013-03-24 04:57 only_in_D.txt