Si une archive contient plusieurs fichiers dans le répertoire racine, je voudrais créer un répertoire nommé d'après le nom du fichier (sans extension). Si une archive ne contient qu'un répertoire, je voudrais simplement l'extraire. Supposons que j'ai les archives suivantes:
# file: withdir.zip
somedir/alpha
somedir/beta
somedir/gamma
Si je l'extrait dans le répertoire courant, j'aimerais qu'il soit simplement extrait ( unzip withdir.zip
):
somedir/alpha
somedir/beta
somedir/gamma
Supposons maintenant l'archive suivante:
# file: nodir.zip
alpha
beta
gamma
Lorsque je cours, unzip nodir.zip
je finis par encombrer le répertoire actuel avec les trois fichiers:
alpha
beta
gamma
Je préfère courir unzip -d nodir nodir.zip
:
nodir/alpha
nodir/beta
nodir/gamma
Si j'utilise nautilus et clique droit sur "Extraire ici". Il se comporte exactement comme il se doit. Mais malheureusement, je n'ai pas trouvé de commutateur de ligne de commande pour unzip
ou
7z
qui donne le même comportement. Comment y parvenir? Y a-t-il d'autres outils que je peux utiliser à la place (pas d'interface graphique)?
withdir
pour l'archivewithdir.zip
bien qu'il ne contienne qu'un seul répertoire à la racine cargrep -c "Folder = -"
retourne3
.