如何创建包含不同子文件夹中所有 PDF 文件的 zip 文件?

如何创建包含不同子文件夹中所有 PDF 文件的 zip 文件?

我的目录结构如下:

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

我如何从终端压缩这 7 个 PDF 文件以便获得一个application.zip文件,如果我再次提取它,所有文件是否会落在一个文件夹中?

答案1

Zip(含子目录):zip -r {myzip.zip} 应用程序

提取(不包括 org.dir 结构):unzip -d {目标}

答案2

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

相关内容