O programa unzip
do Info-Zip pode reconhecer glob patterns em nomes de arquivos. Portanto, se você tiver um arquivo zip com muitos arquivos chamado file1.gz
em pastas diferentes:
$ unzip FolderName.zip '*/file1.gz'
Archive: FolderName.zip
extracting: FolderName/b/c/file1.gz
extracting: FolderName/b/e/file1.gz
extracting: FolderName/b/f/file1.gz
Isto apesar do fato de que FolderName.zip
também contém arquivos chamados coisas outros que file1.gz
. Se você puder combinar o arquivo desejado com um padrão glob, unzip
poderá extraí-lo.
Eu recebo a impressão de seu outro comentário de que você precisa concatenar todos esses arquivos extraídos. Algo parecido com isso fará o que você deseja, assumindo que a pasta de nível superior contendo unzip
output seja chamada FolderName
e o arquivo de destino ( file1.gz
) esteja na mesma profundidade de pasta em todas as subpastas:
$ gzcat FolderName/*/*/file1.gz > one-big-uncompressed-log-file
Ou seja, ele pula dois níveis de subpasta para extrair os arquivos file1.gz
, depois os descompacta e concatena com o programa comum gzcat
, encontrado em quase todos os lugares que você encontra gzip
support.