Para comprimir un directorio completo a un archivo .zip y excluir todas las carpetas node_modules dentro de los proyectos, puedes usar el siguiente comando en Ubuntu:
zip -r nombre_del_archivo.zip directorio_principal -x '*/node_modules/*'Explicación del comando:
zip -r nombre_del_archivo.zip directorio_principal: Comprime el directorio_principal de forma recursiva en un archivo llamado nombre_del_archivo.zip.-x '*/node_modules/*': Excluye todas las carpetas node_modules y su contenido en cualquier subdirectorio del directorio_principal. Este comando comprime todo el contenido del directorio, ignorando cualquier carpeta node_modules sin importar en qué nivel esté ubicada.
Para comprimir cada carpeta dentro de un directorio en archivos .zip separados y excluir las carpetas node_modules, puedes usar un bucle for en Bash. Este comando crea un archivo .zip independiente para cada carpeta y omite cualquier node_modules en su interior:
for dir in */; do
dir_name=$(basename "$dir")
zip -r "${dir_name}.zip" "$dir" -x "*/node_modules/*"
doneExplicación del comando:
for dir in */; do ... done: Itera sobre cada carpeta en el directorio actual.dir_name=$(basename "$dir"): Obtiene el nombre de la carpeta actual sin la ruta completa.zip -r "${dir_name}.zip" "$dir": Crea un archivo .zip con el nombre de la carpeta actual.-x "*/node_modules/*": Excluye las carpetas node_modules de cada proyecto durante la compresión.
Este script comprimirá cada carpeta en un archivo .zip separado y excluirá cualquier subcarpeta node_modules que encuentre.