Extrai conteúdo da pasta usando tar?

1

Há um pergunta semelhante aqui .

Se bem entendi, a primeira resposta indica que não podemos extrair o conteúdo de uma pasta, mas apenas um arquivo específico de uma pasta?

A segunda resposta usa a opção --directory . Isso parece ser precisamente o que eu quero, no entanto, isso não extrai arquivos de um determinado diretório dentro do arquivo, mas, em vez disso, envia os arquivos para o diretório indicado pela opção --directory .

Quando eu aumentei minha pasta, incluí o caminho inteiro do diretório raiz para baixo. Então tem home/ole/folder/thestuff . Desejo extrair folder/thestuff para a pasta atual em que estou, sem incluir home/ole .

Pensamentos?

    
por Ole 21.09.2018 / 20:26

2 respostas

2

If I understand correctly, the first answer indicates that we cannot extract the contents of a folder, but only a specific file from a folder?

Não, está falando de nomes de arquivos relativos versus absolutos. A diferença entre /some/path e some/path

Veja o conteúdo do seu tarfile tar tf file . Você não pode especificar a pasta como /path/to/folder , quando estiver listada como path/to/folder .

Não há problema em fornecer a pasta (correta) para extrair.

  • Listar os arquivos que serão extraídos

tar tf file.tar path/to/folder

  • Extraia os arquivos (no diretório atual)

tar xf file.tar path/to/folder

Como exemplo:

Verifique o conteúdo:

$ tar tf ../test.tar
a/
a/3
a/2
a/1
b/
b/3
b/2
b/1

Extrair pasta a

$ tar xf ../test.tar a

Veja o que foi extraído

$ find .
.
./a
./a/3
./a/2
./a/1
    
por 21.09.2018 / 20:51
0

No meu caso, eu poderia fazer isso:

tar -xvzf archive.tar.gz --strip-components = 2

Isso remove home/ole do caminho e extrai tudo abaixo do arquivo no diretório atual.

    
por 21.09.2018 / 20:47