Моя структура каталогов выглядит следующим образом:

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

Как мне сжать эти 7 PDF-файлов с терминала, чтобы я получил файл application.zip , и если я извлечу его снова, все файлы попадут в одну папку?

2 ответа2

1

Zip (w/subdirs): приложение zip -r {myzip.zip}

Извлечение (исключая структуру org. Dir): unzip -d {destination}

1

Используйте параметр -j (нежелательные имена), чтобы zip удалял абсолютный / относительный путь каждого добавленного файла и добавлял его только по имени. В самом простом случае, когда папка вашего приложения содержит только файлы PDF, кроме каталогов, используйте это:

zip -jr application.zip application/

Если у вас есть различные файлы, вам нужно отфильтровать их и добавить их один за другим, например, сделайте так:

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

Это добавит все файлы PDF в каталоге application по их базовому имени, чтобы:

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%)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .