Mam projekt z dużą ilością ukrytych folderów / plików. Chcę utworzyć archiwum zip, ale w archiwum nie powinny znajdować się żadne ukryte foldery / pliki. Jeśli pliki w ukrytym folderze nie są ukryte, nie należy ich również dołączać.
Wiem, że mogę utworzyć archiwum zip takiego katalogu:
zip -r zipfile.zip directory
Wiem też, że mogę wykluczyć pliki z opcją -x, więc pomyślałem, że to może działać:
zip -r zipfile.zip directory -x .*
Nie działało. Wszystkie ukryte katalogi nadal znajdowały się w pliku zip.
command-line
zip
Martin Thoma
źródło
źródło
find community-chess/ -path '*/.*' -prune -o -type f -print | zip ~/community-chess.zip -@
) jest dłuższe niż oczekiwano, ale działa dobrze. Uwzględniono także podkatalogi, więc +1 i zaakceptowana odpowiedź :-)Przede wszystkim, jeśli nie masz zainstalowanego zip, zainstaluj go najpierw w następujący sposób:
Następnie, aby po prostu utworzyć plik zip:
Jeśli chcesz wykluczyć ukryte pliki:
Wykluczanie plików z archiwum Zip (pobrane z http://osxdaily.com/2013/04/30/how-to-exclude-files-from-a-zip-archive/ )
źródło
Dodaj
"
do.*
(w przeciwnym razie powłoka rozwija się.*
do plików kropek w bieżącym katalogu), a także wyklucza ukryte pliki w podkatalogach:Spowoduje to, że pliki zaczynające się od
.
nie będą dodawane do pliku zip.źródło
.*
zostałby rozszerzony przez powłokę.*/.*
, jak również.*
(*/
dopasowuje dowolny niepusty ciąg katalogów).Ten zawiera wszystkie „.” katalogi, podkatalogi i „.” pliki lub katalogi w katalogach ... Zasadniczo pierwsza odpowiedź, ale zawiera najwyższy poziom „.” akta.
źródło
Przykład wykluczenia wszystkich folderów zaczynających się od. :
Lepszy kompres, ale wolniejszy:
źródło
Prawidłowa metoda to:
źródło
Podczas kompresowania katalogów z wyłączeniem niektórych rozszerzeń plików:
źródło
Bez ukrytych folderów i plików w katalogu:
informator:
|── .git │ ├── src │ └── Work.file ├── .test │ └── .file └── test.file
źródło