複数の.zipファイルからjpg / jpegファイルを抽出する

複数の.zipファイルからjpg / jpegファイルを抽出する

200以上のファイルを含む.zipフォルダがあります。各ファイルには、複数の種類のアーカイブを含むフォルダが1つしかありません(場合によっては、このフォルダが欠落しています)。その中から.jpgorファイルだけを抽出したいと思います.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個のアーカイブをすべて手動で開かずにこのタスクを自動化するにはどうすればよいですか?

ベストアンサー1

あなたはこのようなことをすることができます

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

おすすめ記事