web-dev-qa-db-fra.com

Commandes shell ou script pour décompresser, ajouter un fichier texte et réexp

J'ai créé 200 fichiers Zip pour le travail, mais j'ai réalisé que j'avais oublié d'ajouter le fichier .txt à chacun d'entre eux. Au lieu de passer des heures à refaire ce travail, j'apprécierais toute aide.

Existe-t-il un moyen que quelqu'un sait utiliser bash pour décompresser, ajouter le fichier .txt et ranger tous les 200 fichiers? Le nom du fichier .txt ne changera pas uniquement les fichiers .Zip.

Je vous remercie.

8
Joshua Ivy

Vous n'avez même pas besoin de décompresser les fichiers, vous pouvez mettre à jour un fichier existant:

Zip -u existing.Zip file.txt

depuis Zip manual:

update (-u)
    Update existing entries if newer on the file system and add new files. 
    If the archive does not exist issue warning then create a new archive.

Si vous souhaitez ajouter un dossier complet, ajoutez -r.


Pour mettre à jour un certain nombre de fichiers Zip, procédez comme suit:

for z in *.Zip; do
    Zip -u "$z" file.txt
done

Voir ceci question connexe sur U & L.

14
pLumo