Descompacte o conteúdo do subdiretório do arquivo zip para/tmp?

Descompacte o conteúdo do subdiretório do arquivo zip para/tmp?

Como parte de uma instalação de software com script no Xenial Xerus, tenho um arquivo compactado chamado 'test.zip' que contém, entre outros arquivos, alguns arquivos em um subdiretório chamado samples:

andrew@athens:~/Desktop$ unzip -l test.zip 
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2016-09-15 13:29   materials/
       66  2014-11-16 18:22   materials/preferences.kcfgc
    21554  2014-11-16 18:22   materials/mainwindow.cpp
      166  2016-09-15 13:29   materials/.zip
      164  2014-11-16 18:22   materials/Messages.sh
        0  2016-09-15 13:28   samples/
    35147  2014-11-16 18:22   samples/LICENCE
      631  2014-11-16 18:22   samples/README.md
     2344  2014-11-16 18:22   samples/main.cpp
---------                     -------
    60072                     9 files
andrew@athens:~/Desktop$ 

Usando unzipo utilitário de linha de comando do Xenial Xerus, como faço para extrair oapenas conteúdode samples, descompactando-os para /tmp?

Responder1

O comando seria extrair com nomes de pastas (comportamento padrão):

unzip test.zip samples/* -d /tmp

sem nomes de pastas (extraindo apenas arquivos contidos na pasta samples):

unzip -j test.zip samples/* -d /tmp

De man unzip:

   -j     junk paths.  The archive's directory structure is not recreated;
          all files are deposited in the extraction directory (by default,
          the current one).

Espero que isto ajude!

informação relacionada