Zip
從多個 .zip 文件中提取 jpg/jpeg 文件
我有一個包含 200 多個文件的文件夾
.zip
。在這些文件中的每一個中,只有一個文件夾,其中包含多種類型的檔案(有時,此文件夾失去)。其中,我只想解壓.jpg
or.jpeg
文件。該zip
文件的結構是:AAAA-99999-2015.zip AAAA-99999-2015 (optional) AAAA-99999-2015.jpg (or .jpeg) AAAA-99999-2015.prj AAAA-99999-2015.ecw readme.txt
¿ 如何在不手動打開所有這 200 個檔案的情況下自動執行此任務?
你可以做這樣的事情
find . -type f -iname \*zip -print0 | xargs -0 --max-args=1 --replace unzip {} \*.jpg \*.jpeg
這將在目前文件夾和子文件夾中查找名為“*.zip”的文件,然後對於其中的每一個,單獨 (
--max-args=1
)unzip
呼叫命令,附加\*.jpg \*.jpeg
,從而選擇要提取的文件。(如果我們同時選擇
*.jpeg
和*.jpg
文件並且其中一些不存在unzip
可能會警告我們。這可以安全地忽略。)如果您想測試首先發生的情況,請插入
echo
:find . -type f -iname \*zip -print0 | xargs -0 --max-args=1 --replace echo unzip {} \*.jpg \*.jpeg
如果您要提取目前文件夾中的所有文件,無論它們在 ZIP 文件中的位置如何,請添加以下
-j
選項unzip
:find . -type f -iname \*zip -print0 | xargs -0 --max-args=1 --replace unzip -j {} \*.jpg \*.jpeg
您還可以
-d foldername
在-j
.