Cómo comprimir archivos por lotes en Mac (Automatizar con un script Bash)

 

 

 

Si necesita comprimir con frecuencia una gran cantidad de archivos en su Mac, es posible que el proceso le lleve mucho tiempo y sea repetitivo. Si bien la utilidad de archivo integrada en Mac OS se puede usar para comprimir archivos en lotes, aún puede ser un proceso manual. Sin embargo, con un poco de conocimiento de secuencias de comandos, puede automatizar el proceso de comprimir archivos por lotes mediante una secuencia de comandos Bash.

En este artículo, lo guiaremos a través del proceso de creación de un script Bash que le permitirá comprimir archivos en lotes de cualquier número que elija, en su Mac. Ya sea que esté trabajando con cientos o miles de archivos, este script lo ayudará a ahorrar tiempo y evitar la monotonía de comprimir archivos manualmente. Al final de este tutorial, tendrá un script Bash completamente funcional que puede usar para procesar por lotes archivos zip en cualquier cantidad que necesite, con solo unos pocos comandos simples.

 



Por ejemplo, supongamos que tiene 100 archivos en una carpeta en particular. Puede usar este script para comprimir los archivos en grupos de 10, lo que da como resultado 10 archivos comprimidos en total. Como alternativa, puede comprimir los archivos en grupos de 5, lo que da como resultado un total de 20 archivos comprimidos, y así sucesivamente.

#!/bin/bash# Set the directory path to the folder containing the files to be compressedDIR_PATH="/path/to/folder"# Set the name prefix of the output archive filesARCHIVE_PREFIX="archive"# Set the maximum number of files per batchMAX_FILES=20# Change directory to the specified pathcd "$DIR_PATH"# Get a list of all files in the directoryfiles=( * )# Calculate the number of batches of filesnum_batches=$(( (${#files[@]} + $MAX_FILES - 1) / $MAX_FILES ))# Loop through each batch of filesfor (( i=0; i<$num_batches; i++ )); do # Set the start and end indices of the batch start=$(( $i * $MAX_FILES )) end=$(( ($i + 1) * $MAX_FILES - 1 )) # Check if the end index exceeds the number of files if (( $end >= ${#files[@]} )); then end=$(( ${#files[@]} - 1 )) fi # Create a compressed archive file for the batch of files archive_name="${ARCHIVE_PREFIX}_${i}.tar.gz" tar -cvzf "$archive_name" "${files[@]:$start:$MAX_FILES}"done

Descargar guión.

¿Qué hace este script?

El script anterior es un script bash que comprime varios archivos en archivos por lotes.

Primero establece la ruta a la carpeta (DIR_PATH="/path/to/folder") que contiene los archivos a comprimir, el prefijo del nombre de los archivos de almacenamiento de salida (ARCHIVE_PREFIX="archive") y el número máximo de archivos por lote (MAX_FILES=20). Recetas de cocteles

Luego cambia el directorio actual a la ruta especificada y obtiene una lista de todos los archivos en ese directorio. Luego, el script calcula el número de lotes de archivos y recorre cada lote.

Para cada lote, establece los índices de inicio y finalización del lote, verifica si el índice final excede la cantidad de archivos y luego crea un archivo comprimido para el lote de archivos usando el comando 'tar'.

Los archivos comprimidos resultantes se nombran con el prefijo especificado y se numeran secuencialmente.

¿Cómo usar el guión?

Paso 1.

Para agrupar archivos zip en su Mac, primero crear una nueva carpeta y coloque todos los archivos que desea comprimir dentro de esa carpeta.

Por ejemplo, podría crear una carpeta llamada 'zipme' en su escritorio y coloque todos los archivos relevantes dentro de esa carpeta. Una vez que haya hecho esto, puede encontrar la ruta a la carpeta navegando hasta ella en Finder y luego haciendo clic derecho y seleccionando 'Conseguir información'.

Como alternativa, puede utilizar el pwd Comando en Terminal para mostrar el directorio actual y luego agregar el nombre de la carpeta al final de la ruta. Y en nuestro caso, camino a zipme/ es: /Users/hongkiat/Desktop/zipmepor lo que haremos lo siguiente:

editar:

DIR_PATH="/path/to/folder"

para ser:

DIR_PATH="/Users/hongkiat/Desktop/zipme"
Paso 2.

Copia y pega el código de arriba en un nuevo archivo en tu Mac usando un editor de texto como TextEdit o Atom. Guarde el archivo con un .sh extensión (por ejemplo lote_zip.sh) y hazlo ejecutable ejecutando el siguiente comando en la Terminal:

chmod +x /path/to/batch_zip.sh
Paso 3.

Luego, para ejecutar el script, abra Terminal y navegue hasta el directorio donde se guardó el script. Escribe el siguiente comando y presiona Ingresar:

./batch_zip.sh

Nota: si corre ./batch_zip.sh no funciona, intente usar sudo ./batch_zip.sh en cambio. Tenga en cuenta que "sudo" requiere autorización ingresando la contraseña para el nombre de usuario actual de Mac.

Una vez ejecutado, todos los archivos dentro de la carpeta especificada se comprimirán en lotes de hasta 20 archivos cada uno, y se creará un archivo para cada lote con el prefijo especificado y un número incremental.

Cómo comprimir archivos por lotes en Mac (Automatizar con un script Bash)

Si necesita comprimir con frecuencia una gran cantidad de archivos en su Mac, es posible que el proceso le lleve mucho tiempo y sea repetitivo. Si bien la util

apple

es

https://teranautas.es/static/images/apple-como-comprimir-archivos-por-lotes-en-mac-automatizar-con-un-script-bash-9066-0.jpg

2023-06-12

 

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Top 20