Cómo excluir archivos de un archivo comprimido
Tabla de contenido:
La forma más fácil de excluir muchos archivos específicos o un grupo de archivos coincidentes de un archivo zip es omitir la utilidad de compresión fácil integrada en la interfaz de usuario amigable de Mac OS X y pasar a la línea de comando, donde el reside el poderoso comando zip. Esto es útil por un millón de razones, pero la motivación principal de esta publicación se relaciona con los archivos .DS_Store que se empaquetan junto con los archivos zip creados en una Mac, solo para saturar otra máquina que descomprime el archivo, ya sea en otro Mac, PC con Windows o Linux.Eso sucede con la herramienta zip amigable y la utilidad zip de línea de comandos de forma predeterminada, y se debe a que el comportamiento predeterminado de las herramientas de compresión es incluir archivos ocultos, ya sea que se muestren o no. Eso no es necesariamente algo malo y, en muchos casos, se consideraría útil, pero si no desea que estos, o cualquier otro archivo, aparezcan en sus archivos, entonces siga leyendo.
Cómo excluir archivos de un archivo comprimido
Los aspectos básicos de la exclusión de archivos al crear un archivo zip se centran en el indicador -x, que se utiliza para excluir archivos del archivo que coincidan con un nombre o patrón específico. En su forma más básica, se verá así:
"archivo zip.archivos zip -x ExcludeMe"
Lo que significa que podría excluir un solo archivo, digamos que se llama "Nogracias.jpg"
"archivo zip.zip imágenes/ -x Nogracias.jpg"
Veamos algunos ejemplos específicos donde esto es útil.
Excluir archivos .DS_Store de los archivos comprimidos
Esto evitará que los archivos .DS_Store de metadatos de Mac normalmente invisibles se incluyan en un archivo zip, que se incluyen de forma predeterminada:
"zip -r nombrearchivo.zip directorioarchivo -x .DS_Store"
Sin embargo, si el directorio incluye subdirectorios, querrá usar otra variación de ese comando para excluir los archivos ds_store de los subdirectorios también:
"zip -r archive.zip directorio -x /\.DS_Store"
Nota: no todos los shells requieren las comillas para que este comando funcione correctamente, pero en el shell bash (el predeterminado para Mac OS X) necesitará usar las comillas para excluir con comodines y patrones.
Excluir tipos de archivo específicos de un archivo comprimido
Con los comodines, también puede excluir todos los archivos de cierto tipo enfocándose en la extensión. Por ejemplo, este comando comprimirá un directorio completo, menos los archivos .jpg:
"zip -r archive.zip directorio -x .jpg"
Eso podría modificarse para cualquier extensión de archivo o patrón específico que coincida con un nombre de archivo.
Excluir el directorio .git o .svn de un archivo comprimido
"Comprime un directorio, menos .git y su contenido: zip -r zipdir.zip directorytozip -x .git "
Comprimir una carpeta, sin incluir el directorio .svn: zip -r ziped.zip directory -x .svn "
Excluir todos los archivos ocultos de un archivo comprimido
Dado que se pueden usar patrones y comodines, también puede excluir cualquiera o todos los archivos y carpetas invisibles que se crean con el prefijo de un punto, ya sea un directorio como .svn o un archivo individual como .bash_profile o .htaccess.
zip -r nombrearchivo.zip directoriotozip -x ."
O para excluir todos los archivos invisibles de todos los subdirectorios:
"zip -r archive.zip directorio -x /\."
Agradecemos a un comentarista en los foros de Macworld por la sintaxis precisa para excluir también esos archivos de los subdirectorios.
En última instancia, esta es solo otra razón para que los usuarios avanzados s alten a la Terminal para crear archivos. Con potentes funciones como la compatibilidad con comodines, la exclusión y la protección opcional con contraseña de zips, tiene más funciones y, dado que todo está incluido en la Mac, no necesitará descargar otra aplicación para admitir las funciones avanzadas.
Y sí, técnicamente, si estuviera decidido a permanecer en la interfaz de usuario, podría usar los operadores de búsqueda Finder y Spotlight para restringir el contenido de una carpeta en Mac OS X antes de crear un archivo, o simplemente Seleccionar todo y manualmente Comando + clic en cada archivo para no incluirlo, pero eso realmente no es eficiente para grandes operaciones de archivado.Por lo tanto, la terminal gana por su facilidad y, a pesar de estar centrada en la línea de comandos, no es realmente complicada una vez que aprendes los conceptos básicos.