Como deletar um arquivo tar depois que eu o gzip?

0

Estou criando um arquivo tar e, em seguida, estou gzipando o arquivo tar. Então, estou recebendo um arquivo .tgz e agora quero excluir o arquivo tar anterior.

${gzipExe} -f --rsyncable $tarname.TAR --stdout >> $tarname.TGZ
    
por superstar 06.04.2010 / 22:12

2 respostas

4

Eu costumo zipar o arquivo ao mesmo tempo usando o parâmetro 'z' com o comando tar:

tar czvf allmyfiles.tar.gz *

O comando acima cria um novo arquivo chamado allmyfiles.tar.gz que contém todos os arquivos na pasta atual e fecha-o.

Caso contrário, basta excluir o arquivo .tar com o próximo comando:

$rm $tarname.TAR

Note que .tar.gz é mais comumente usado que .tgz.

    
por 06.04.2010 / 23:12
3

Você tem algumas opções. Assumindo que você precisa da opção --rsyncable :

  • Compactar e tar em uma etapa (sem um arquivo tar intermediário):
REM I think you are on Windows so...
set GZIP=--rsyncable
tar czf file.tar.gz files
  • Canaliza a saída do tar no gzip (sem um arquivo tar intermediário)
tar c files | gzip --rsyncable > file.tar.gz
  • Arquivar e compactar em duas etapas.
tar -cf file.tar files
gzip -f --rsyncable file.tar

Se você simplesmente executar gzip file.tar em vez de gzip --stdout file.tar > file.tar.gz gzip, o arquivo tar será excluído.

Observe também que usar gzip --stdout file.tar >> file.tar.gz como na sua pergunta irá realmente acrescentar o novo conteúdo gziped ao arquivo.tar.gz, que provavelmente não é o que você quer.

    
por 09.04.2010 / 06:37

Tags