Comandos de shell o script para descomprimir, agregar archivo de texto y volver a comprimir

8

He creado 200 archivos zip para el trabajo, pero me di cuenta de que olvidé agregar el .txt a cada uno de ellos. En lugar de pasar horas rehaciendo este trabajo, agradecería cualquier ayuda.

¿Hay alguna manera de que alguien sepa usando bash que descomprima, agregue el archivo .txt y vuelva a comprimir los 200 archivos? El nombre del archivo .txt no cambiará solo los archivos .zip.

Gracias.

Joshua Ivy
fuente
3
En mi opinión, se trata de una herramienta predeterminada de Ubuntu y, por lo tanto, sobre el tema.
pLumo

Respuestas:

14

Ni siquiera necesita descomprimir los archivos, puede actualizar un archivo existente:

zip -u existing.zip file.txt

del zipmanual:

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 desea agregar una carpeta completa, agregue -r.


Para actualizar varios archivos zip, haga algo como esto:

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

Vea esta pregunta relacionada en U&L.

pLumo
fuente