Coloca arquivos tar'd em um subdiretório

8

Eu tenho uma configuração de diretório como a seguinte:

folder_x
file.y
file.z

Eu gostaria de criar um arquivo tar para que, quando for extraído, a estrutura seja parecida com esta:

dir_q/folder_x
dir_q/file.y
dir_q/file.z

Como posso fazer isso funcionar usando tar ? Para referência, o comando atual que estou usando é:

tar -czf archive.tar.gz file.y file.z folder_x
    
por Tim Cooper 25.01.2011 / 20:09

2 respostas

10

Eu nunca usei a opção --transform, mas entendo que faria o que você precisa:

tar -czf archive.tar.gz --transform 's,^,dir_q/,' file.y file.z folder_x

Realize o uso de , em vez de / como separador, para que possamos adicionar uma barra à direita.

    
por 25.01.2011 / 20:31
1

Se você não se importa de criar o novo diretório ...

mkdir dir_q;tar -C $_ -xzvf archive.tar.gz

como alternativa, crie um novo diretório, descompacte o arquivo nesse diretório e, em seguida, refaça o tar do diretório pai para incluir seu nome na versão extraída. Dessa forma, você não precisa se lembrar de alguma invocação super longa.

    
por 25.01.2011 / 20:29

Tags