J'ai besoin de créer un fichier zip en utilisant cette commande:
zip /dir/to/file/newZip /data/to/zip/data.txt
Cela fonctionne, mais le fichier zip créé crée une structure de répertoires imitant le répertoire dans le fichier brut. Il y a beaucoup de dossiers supplémentaires dont je n'ai pas besoin.
Je n'ai pas trouvé de réponse en un coup d'œil rapide sur la page de manuel ou une recherche Google.
Réponses:
Vous pouvez utiliser
-j
.la source
-j
cela ne fonctionne pas pour votre annuaire (avec-r
)L'utilisation
-j
ne fonctionnera pas avec l'-r
option.La solution peut donc être la suivante:
Ou version en ligne
vous pouvez diriger la sortie vers
/dev/null
si vous ne voulez pas que lacd -
sortie apparaisse à l'écranla source
cd path/to/parent/dir/ && zip -r ../../../../name.zip ./* && cd -
cd path/to/parent/dir/
vous pouvez../
facilement calculer le nombre de points doubles .Utilisez l'
-j
option:la source
Assez lié - je cherchais une solution pour faire de même pour les répertoires. Malheureusement, l'
-j
option ne fonctionne pas pour cela :(Voici une bonne solution pour y parvenir: /superuser/119649/avoid-unwanted-path-in-zip-file
la source
Vous pouvez également créer un lien symbolique temporaire vers votre fichier:
Cela fonctionne également pour un répertoire.
la source
Conserver le répertoire parent pour
unzip
ne pas cracher de fichiers partoutLorsque vous zippez des répertoires, le fait de conserver le répertoire parent dans l'archive vous aidera à éviter de salir votre répertoire actuel lorsque vous dézipperez le fichier d'archive ultérieurement.
Donc, pour éviter de conserver tous les chemins, et puisque vous ne pouvez pas utiliser -j et -r ensemble (vous obtiendrez une erreur), vous pouvez le faire à la place:
C'est
../$(basename $PWD)
la magie qui conserve le répertoire parent.Alors maintenant,
unzip my.zip
nous donnerons un dossier contenant tous vos fichiers:Au lieu de joncher le répertoire courant avec les fichiers décompressés:
la source
Utilisez simplement l'
-jrm
option pour supprimer les structures de fichiers et de répertoiresla source