Extrai o arquivo .tar.gz que possui arquivos com extensão .gz

0

Usando esta pergunta eu 'zipado' a pasta com milhares de imagens no servidor apache. Isso aparentemente mudou os arquivos dentro da própria pasta e zipou os arquivos. Mas essa não é a questão atm.

Eu baixei esse arquivo .tar.gz e o descompactei com o 7-zip, e obtive o arquivo .tar , que eu abri novamente com o 7-zip e extraí-lo, mas todas as imagens dentro ainda têm .gz extensão: \

Agora, existem mais de 9000 arquivos (como, literalmente, cerca de 9400 arquivos) com .gz de extensão que são inúteis para mim. Eu não posso ir e extrair cada um individualmente.

Existe uma maneira de extrair cada imagem e remover os arquivos .gz de uma só vez?

Obrigado

    
por dingo_d 11.02.2016 / 14:39

2 respostas

1

Então a resposta no final, foi apenas selecionar tudo, e clicar com o botão direito em 7zip e selecionar extrair aqui.

Depois, basta excluir .gz arquivos.

Hennes também deu uma resposta muito boa:)

    
por 13.02.2016 / 15:39
2

Sim.

A maneira mais fácil (assumindo não mais que cerca de 2000 arquivos) é usar um curinga: gunzip *.gz

Se houver mais arquivos, ou se você também os tiver em subdiretórios, tente o seguinte:

find /path/to/files/ -name "*.gz" -exec gunzip {} +

A razão para isso é que as listas de argumentos têm espaço limitado; gunzip *.gz falhará se você tentar com muitos arquivos de uma só vez.

Encontre uma explicação:

find /path/to/files/   Finds all files in that path (and in subdirs)  
-name "*.gz"           Filter on name
-exec                  For each name execute a program.
{}                     The name of the program
+                      Feed the program as many arguments as possible in one go
                       (if you use ';', it will run gunzip once for each file).

Se você tiver pastas com nomes que terminem em .gz , convém adicionar um -type f para que o find encontre apenas arquivos regulares.

    
por 11.02.2016 / 14:41