Estoy tratando de crear un archivo ZIP usando la zip
herramienta de línea de comandos que viene con el terminal Mac OS X. Quiero comprimir recursivamente el contenido de la carpeta actual pero excluyendo los .DS_Store
archivos. Estoy intentando con esto:
zip -r myarchive.zip . -x .DS_Store
Las -x .DS_Store
excluye el .DS_Store
archivo en la carpeta actual, pero no en las subcarpetas añadidas de forma recursiva. ¿Cómo excluyo todos los .DS_Store
archivos de TODAS las subcarpetas también?
*
expande a nada ni a ninguna parte de una ruta, ya que zip comprime recursivamente los archivos y sus directorios. Entonces,./.DS_Store
entonces./*/.DS_Store
y así sucesivamente se excluyen del archivo.La mayoría de las veces quiero excluir todos los archivos ocultos, como
.DS_Store
o.git
o.gitignore
Con un simple comando puedes ocuparte de todo eso y comprimir todos los archivos y subcarpetas de forma recursiva
zip -r archive.zip folder -x "*/\.*"
O incluso mejor, cree una función en zsh para facilitarle la vida
open ~/.zshrc
Agregue el siguiente código en su sección de alias
Vuelva a cargar la configuración de zsh
source ~/.zshrc
Usar así
zip-visible archive.zip folder
fuente