Comment extraire un dossier spécifique d'une archive compressée dans un répertoire donné?
J'ai essayé d'utiliser
unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"
mais cela ne crée que le dossier sur le chemin que je souhaite décompresser et ne fait rien d’autre.
"\\"
on l'utilisera (sinon, vous devrez toujours vous rappeler quels caractères sont des échappées spéciales). C'est donc une différence de citation si l'auteur voulait dire "citer le caractère glob" (inutile). De toute façon, une simple barre oblique inversée comme celle-ci est une faute de frappe.Essayer:
la source
caution: filename not matched: foldername/\*
quand je coursunzip $repozip "$2-master/\*" -d /srv/www/magento/
où$2
est le nom du dossier dans le zip je veux extraire tous les fichiers et dossiers de"path/*"
.mv
ensuite pour obtenir des fichiers là où j’en avais besoin.-j
pour ça.-j
supprime toutes les informations de chemin et tous les fichiers sont placés dans le dossier cible. Existe-t-il un moyen de ne supprimer que la partie commune du chemin? Semblable à zip-r
.Les deux réponses existantes sont correctes, mais il est un peu délicat de spécifier le répertoire cible, qui devrait être mieux précisé.
Disons que
/target/root/
le répertoire cible de l’action originale de décompression, par exemple:Ensuite, nous devons utiliser le même
/target/root/
que le répertoire cible par la suite, même si nous souhaitons n’extraire qu’un sous-répertoire spécifique, comme dans le cas de la méthode de décompression:Après tout, la règle est simple, utilisez le même répertoire racine cible pour l’
-d
option .BTW, l'
-qq
option est que le fichier de décompression soit très silencieux, n'hésitez pas à le supprimer.la source