Estrutura de diretórios de destino para tar diferente da estrutura de diretórios original

0

Existe alguma maneira de definir uma estrutura de diretório de destino diferente da estrutura de diretório original em que o arquivo tar foi criado sem criá-lo manualmente?

Por exemplo, eu tenho muitos arquivos em uma estrutura de diretórios como esta:

~/yyyy/mm/dd/hh/mm/*.*

Organizado por quando o arquivo foi recebido. Eu já criei um arquivo tar sem preservando a estrutura de diretórios acima para um dia inteiro de arquivos (eu tenho um pequeno script que faz um loop a cada minuto de cada hora e é anexado a um único arquivo TAR). Eu gostaria de especificar ao tar para extrair o arquivo para a estrutura de diretórios assim:

~/yyyymmdd

Parece bastante simples, pois eu poderia criar o diretório yyyymmdd manualmente e apenas extrair o meu arquivo para ele, mas eu dou este arquivo TAR para um sistema diferente (que eu não tenho controle) que depende desse arquivo tar extraído para um diretório yyyymmdd e a estrutura de diretórios yyyy/mm/dd/hh/mm/*.* me dá ganhos de desempenho porque é organizado. Além disso, não posso alterar a estrutura de diretórios original ou os recursos do sistema de desperdícios, criando a estrutura de diretórios de destino desejada antes de criar o arquivo tar.

Existe uma maneira simples de extrair um arquivo tar sob um diretório em que nunca esteve em primeiro lugar?

    
por Jeff Hall 14.10.2014 / 22:28

1 resposta

0

Se você tem essa estrutura

/home/yyyy/mm/dd/hh/mm/
├── dir1
│   ├── file4
│   └── file5
├── dir2
│   └── file6
├── file1
├── file2
└── file3

e você quer essa estrutura

/home/yyyymmdd/
├── dir1
│   ├── file4
│   └── file5
├── dir2
│   └── file6
├── file1
├── file2
└── file3

Criar:

tar -cvf /tmp/archive.tar /home/yyyy/mm/dd/hh/mm/

Extrair:

tar --strip-components=6 -C /home/yyyymmdd/ -xvf /tmp/archive.tar
    
por 14.10.2014 / 22:55