Para listar os arquivos em um arquivo zip, você pode usar o seguinte comando.
unzip -l
Para grep um arquivo compactado, você deve usar os utilitários de arquivo compactado criados para trabalhar com esse tipo de formato de arquivo.
Para arquivos zip:
zipgrep --help
usage: zipgrep [egrep_options] pattern zipfile [members...]
Uses unzip and egrep to search the zip members for a string or pattern.
Para arquivos tar:
zgrep --help
Usage: /bin/zgrep [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed.
OPTIONs are the same as for 'grep'.
Existem algumas outras ferramentas que também funcionam com arquivos. Você pode canalizar a saída para grep para fazer a mesma coisa.
zcat
zcat my.archive.zip | grep "some text"
Ou você pode usar a funcionalidade de pesquisa dessas ferramentas
zless
zmore