¿Cómo crear un archivo zip de todos los archivos PDF en diferentes subcarpetas?

0

Mi estructura de directorios es la siguiente:

application
├── CV
│   └── CV.pdf
├── Cover_letter
│   └── Cover_letter.pdf
├── Transcripts
│   ├── BSC.pdf
│   └── MSC.pdf
└── references
    ├── ref1.pdf
    └── ref2.pdf

¿Cómo puedo comprimir estos 7 archivos PDF desde el terminal para obtener un application.zip archivo, y si lo vuelvo a extraer, ¿todos los archivos se encuentran en una sola carpeta?

zcqwevb
fuente

Respuestas:

1

Zip (w / subdirs): aplicación zip -r {myzip.zip}

Extracto (excluyendo la estructura de la estructura de directorio): descomprimir -d {destino}

user241362
fuente
-1, que no logra lo que quiere el OP. Comprimiendo el conjunto application La carpeta resultará en la extracción de la misma estructura de directorios y no todos los 7 PDF en una carpeta.
slhck
1

Utilizar el -j opción (nombres basura) para tener zip elimine la ruta absoluta / relativa de cada archivo agregado y solo agréguela por su nombre. En el caso más simple, donde su carpeta de aplicación solo contiene archivos PDF aparte de los directorios, use esto:

zip -jr application.zip application/

Si tiene varios archivos, necesita filtrarlos y agregarlos uno por uno, así que, por ejemplo, haga esto:

find application -type f -name '*.pdf' -exec zip -j application.zip {} \;

Esto agregará todos los archivos PDF en el application directorio por su nombre base solamente, para:

adding: Cover_letter.pdf (stored 0%)
adding: CV.pdf (stored 0%)
adding: ref1.pdf (stored 0%)
adding: ref2.pdf (stored 0%)
adding: BSC.pdf (stored 0%)
adding: MSC.pdf (stored 0%)
slhck
fuente