Ich habe ein Projekt mit vielen versteckten Ordnern / Dateien. Ich möchte ein Zip-Archiv davon erstellen, aber im Archiv sollten sich keine versteckten Ordner / Dateien befinden. Wenn Dateien in einem versteckten Ordner nicht versteckt sind, sollten sie auch nicht enthalten sein.
Ich weiß, dass ich ein Zip-Archiv eines Verzeichnisses wie dieses erstellen kann:
zip -r zipfile.zip directory
Ich weiß auch, dass ich Dateien mit der Option -x ausschließen kann, daher dachte ich, dass dies funktionieren könnte:
zip -r zipfile.zip directory -x .*
Es hat nicht funktioniert. Alle versteckten Verzeichnisse befanden sich noch in der Zip-Datei.
command-line
zip
Martin Thoma
quelle
quelle
find community-chess/ -path '*/.*' -prune -o -type f -print | zip ~/community-chess.zip -@
) ist länger als erwartet, funktioniert aber einwandfrei. Unterverzeichnisse sind ebenfalls enthalten, also +1 und eine akzeptierte Antwort :-)Wenn Sie zip noch nicht installiert haben, installieren Sie es zuerst wie folgt:
Dann zum einfachen Erstellen einer Zip-Datei:
Wenn Sie versteckte Dateien ausschließen möchten:
Ausschließen von Dateien aus einem Zip-Archiv (entnommen aus http://osxdaily.com/2013/04/30/how-to-exclude-files-from-a-zip-archive/ )
quelle
In
"
auf die.*
(sonst Shell erweitert.*
den Punkt Dateien im aktuellen Verzeichnis), und auch versteckte Dateien in Unterordner ausschließen:Dies führt dazu, dass Dateien, die mit einem beginnen,
.
nicht zu Ihrer ZIP-Datei hinzugefügt werden.quelle
.*
würde durch die Schale erweitert werden.*/.*
sowie.*
(*/
jede nicht-leere Folge von Verzeichnissen übereinstimmt).Dieser beinhaltet alle "." Verzeichnisse, Unterverzeichnisse und "." Dateien oder Verzeichnisse in Verzeichnissen ... Im Wesentlichen die erste Antwort, enthält aber die oberste Ebene "." Dateien.
quelle
Beispiel für das Ausschließen aller Ordner, die mit beginnen. :
Besser komprimieren, aber langsamer:
quelle
Die richtige Methode wäre:
quelle
Beim Zippen von Verzeichnissen mit Ausnahme einiger Dateierweiterungen:
quelle
Ohne versteckte Ordner und Dateien im Verzeichnis:
Verzeichnis:
|── .git │ ├── src │ └── Work.file ├── .test │ └── .file └── test.file
quelle