ti-enxame.com

Extraia os arquivos contidos em archive.tar.gz para o novo diretório denominado archive

Eu tenho um diretório que contém cerca de 800 arquivos .tgz, cada um contendo cerca de 10 arquivos. Efetivamente, desejo converter cada arquivo morto em um diretório com o mesmo nome. Existe um comando simples de uma linha para fazer isso ou devo escrever um script?

24
si_2012

Eu acho que você precisará escrever isso. Você pode especificar o diretório em que a extração é inserida usando a opção tar -C.

O script abaixo pressupõe que os diretórios não existem e devem ser criados. Se os diretórios existirem, o script ainda funcionará - o mkdir simplesmente falhará.

tar -xvzf archive.tar.gx -C archive_dir

por exemplo.

for a in *.tar.gz
do
    a_dir=`expr $a : '\(.*\).tar.gz'`
    mkdir $a_dir 2>/dev/null
    tar -xvzf $a -C $a_dir
done
26
suspectus

Crie uma pasta na qual você deseja extrair assim mkdir archive e passe o nome da pasta com -C ao extrair, tar -xvf archive.Zip -C archive

0
Shirish Singh