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

8

J'ai créé 200 fichiers zip pour le travail, mais je me suis rendu compte que j'avais oublié d'ajouter le fichier .txt à chacun d'eux. Au lieu de passer des heures à refaire ce travail, j'apprécierais toute aide.

Existe-t-il un moyen de connaître bash qui décompressera, ajoutera le fichier .txt et décompressera les 200 fichiers? Le nom du fichier .txt ne changera pas seulement les fichiers .zip.

Je vous remercie.

Joshua Ivy
la source
3
À mon humble avis, il s'agit d'un outil Ubuntu par défaut et donc sur le sujet.
pLumo

Réponses:

14

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

du zipmanuel:

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 cette question connexe sur U&L.

pLumo
la source