obtém o nome do novo diretório criado a partir do comando tar

2

Como posso obter o nome de novos diretórios que foram criados fora do comando tar -xvf ?

Por ex. Quando eu corro o comando

tar -xvf jdk-7u17-linux-x64.tar.gz

o conteúdo deste tar extraído em um novo diretório chamado 'jdk1.7.0_17' e eu quero obter este nome como resultado do comando acima ou usando qualquer script.

    
por user1471088 15.09.2014 / 09:44

1 resposta

1

Não há garantia de que haja um subdiretório no arquivo tar ou que exista apenas um.

Eu tenho um script especial para extrair arquivos tar que primeiro cria um diretório temporário, extrai o arquivo nesse diretório e, em seguida, conta o número de entradas nesse diretório e

  1. se for apenas um diretório / arquivo, ele será movido do diretório temporário
  2. se houver vários arquivos / diretórios, ele renomeia o diretório temporário com base no nome do arquivo .tar (sem extensão).

Você pode fazer algo assim e armazenar o nome mais recente determinado dessa forma em uma tabela para referência futura em outros scripts.

Como @jofel apontou em um comentário. A funcionalidade do meu script está disponível no conjunto de utilitários atool . O utilitário de extração de arquivos faz isso bem dtrx .

¹ A menos que eu tenha perdido alguma coisa, nenhum dos dois parece saber qual diretório (único) foi criado.

    
por 15.09.2014 / 10:23