Ich habe ein Verzeichnis voller Projekte in, sagen wir /Users/Me/Projects
.Erstellen Sie mehrere tar.gz-Archive aus mehreren Verzeichnissen
Innerhalb dieses Ordners befinden sich mehrere Unterverzeichnisse und sogar noch weitere Unterverzeichnisse in einigen.
Ich möchte in der Lage sein, ein tar.gz
Archiv jedes Archiv innerhalb /Users/Me/Projects
zu erstellen, deren Archive den gleichen Namen wie das Verzeichnis hätten.
Zum Beispiel in der Projects
Ordner hätte ich, Project1
, Project2
, und Project3
.
Was ich möchte, ist ein Skript Schleife über die Verzeichnisse in Projects
und nicht die Unterverzeichnisse unter dem laufen Project1.tar.gz
, Project2.tar.gz
und Project3.tar.gz
zu erstellen.
Danke für Ihre Antwort. Eine kurze Frage, die ich hatte, wie kann ich dieses Skript ändern, um die neu erstellten Archive irgendwo außerhalb der ursprünglichen Verzeichnisse auszugeben? Die meisten der erweiterten Verzeichnisse, aus denen ich diese Archive erstelle, befinden sich auf meiner externen Festplatte und ich möchte die Archive auf meiner internen Festplatte ablegen. Wäre es wie 'für dir in * /; do tar -czvf /Users/Username/Archives/"${dir%/}".tar.gz "$ dir"; gemacht zum Beispiel? –
@ jzg.dev Genau! Wenn Sie nicht sicher sind, was ein Befehl bewirkt, können Sie immer einfach ein 'echo' davor einfügen und nur die Befehle sehen, die ausgeführt werden, wenn Sie es entfernen, ohne sie auszuführen:' für dir in * /; tun Echo Teer ...' –
Danke für die Hilfe! :) –