Shell-Befehle oder -Skripte zum Entpacken, Hinzufügen einer Textdatei und erneuten Entpacken

8

Ich habe 200 Zip-Dateien für die Arbeit erstellt, aber mir wurde klar, dass ich vergessen habe, jedem die .txt-Datei hinzuzufügen. Anstatt Stunden damit zu verbringen, diese Arbeit zu wiederholen, würde ich mich über jede Hilfe freuen.

Gibt es eine Möglichkeit, wie jemand Bash verwendet, um die TXT-Datei zu entpacken, hinzuzufügen und alle 200 Dateien erneut zu komprimieren? Der Name der TXT-Datei ändert nicht nur die ZIP-Dateien.

Vielen Dank.

Joshua Ivy
quelle
3
Imho handelt es sich um ein Standard-Ubuntu-Tool und damit um ein Thema.
pLumo

Antworten:

14

Sie müssen die Dateien nicht einmal entpacken, sondern können eine vorhandene Datei aktualisieren:

zip -u existing.zip file.txt

aus dem zipHandbuch:

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.

Wenn Sie einen vollständigen Ordner hinzufügen möchten, fügen Sie hinzu -r.


Gehen Sie folgendermaßen vor, um eine Reihe von Zip-Dateien zu aktualisieren:

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

Siehe diese verwandte Frage zu U & L.

pLumo
quelle