J'ai un répertoire contenant environ 800 archives .tgz, chacune contenant environ 10 fichiers. En effet, je veux convertir chaque archive dans un répertoire du même nom. Existe-t-il une simple commande d'une ligne pour cela, ou devrais-je écrire un script?
Je pense que vous aurez besoin de script cela. Vous pouvez spécifier le répertoire dans lequel l'extrait est placé à l'aide de l'option tar -C.
Le script ci-dessous suppose que les répertoires n'existent pas et doivent être créés. Si les répertoires existent, le script fonctionnera toujours - le mkdir échouera simplement.
tar -xvzf archive.tar.gx -C archive_dir
par exemple.
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
Créez un dossier dans lequel vous voulez extraire comme ceci mkdir archive
Et transmettez le nom du dossier avec -C lors de l'extraction, tar -xvf archive.Zip -C archive