여러 .zip 파일에서 jpg/jpeg 파일 추출

여러 .zip 파일에서 jpg/jpeg 파일 추출

200개 이상의 파일이 들어 있는 .zip폴더가 있습니다. 각 파일에는 여러 유형의 아카이브가 포함된 폴더가 하나만 있습니다(경우에 따라 이 폴더가 누락됨). 그 중에서 .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.

관련 정보