Precisa de ajuda com o comando untar - quer descompactar de vários arquivos .tar e depois mover arquivos para o diretório comum [duplicado]

-1

Eu tenho vários arquivos tar (~ 270) que são descompactados na seguinte estrutura de diretórios separada:

00001.tar - > /00001/001/file1.ima

00002.tar - > /00002/001/file2.ima

. .

00270.tar - > /00270/001/file270.ima

Eu me perguntei se há um especificador no comando untar que me permita não apenas descompactar os arquivos, mas também mover os arquivos (file1.ima, file2.ima, ... file217.ima) para um diretório comum .

Alguém sabe como fazer isso? Desculpe se isso é uma coisa simples de fazer; Eu sou muito inexperiente nisso (obviamente).

Agradecemos imensamente antecipadamente por qualquer ajuda sobre isso!

    
por L Holsen 02.06.2016 / 18:32

1 resposta

2

Algo como

for f in {00001..00270}.tar; do
  tar xf "$f" --strip-components=1 
done

deve descompactar todos eles no diretório 001 (isto é, remover os componentes do caminho principal 00001/ , 00002/ etc). Se você quiser descompactá-los em um local completamente diferente, poderá usar a opção -C e (opcionalmente) remover ambos componentes do caminho original

for f in {00001..00270}.tar; do
  tar xf "$f" --strip-components=2 -C path/to/other/dir 
done

(diretório path/to/other/dir já deve existir).

    
por steeldriver 02.06.2016 / 20:44