추출없이 중첩 된 zip을 탐색하는 방법은 무엇입니까?


2

bash에서는 unzip -l압축을 풀지 않고 zip의 내용을 표시하기 위해 사용 합니다.

내 질문 : 중첩 된 zip 파일이 있고 중첩 된 zip의 내용을 탐색하려는 경우 어떤 명령을 사용해야합니까?

예:

file1.zip
   |
   |
   ----- textfile.txt
   ----- file2.zip

file1.zip과 file2.zip을 모두 추출하지 않고 -2를 file2.zip으로 압축 해제하는 방법은 무엇입니까?


zipinfo -1 file1.zip을 시도했지만 unzip -l file1.zip과 동일하게 인쇄 됨
Alessandro C

답변:


1

나는 당신이 사전에 우편 번호를 추출해야 ..이 공통 bash는 압축 유틸리티의 표준 동작입니다 생각하지 않습니다,하지만 당신은 전화, file1.zip의 루트 안에 그냥 참아을 추출하는 스크립트를 만들 수있는 unzip -l다음 자체 정리 :

#!/bin/bash

unzip -l file1.zip

for f in $(unzip -Z1 file1.zip); do
       if [ ${f: -4} == ".zip" ]
       then
           unzip -q -d . file1.zip $f
           unzip -l $f
           rm $f
       fi
done;

산출:

Archive:  file1.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
      312  2018-05-04 00:52   file2.zip
        0  2018-05-04 00:52   textfile.txt
---------                     -------
      312                     2 files
Archive:  file2.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2018-05-04 00:22   file2
        0  2018-05-04 00:52   textfile.txt
---------                     -------
        0                     2 files

0

중첩 된 zip에 대해서는 이 Java 기반 유틸리티 nzip 을 확인하십시오. 다음 명령을 사용하면 중첩 된 zip을 추출하고 압축 할 수 있습니다. list 명령은 다음과 같은 유용한 명령이어야합니다.

java -jar nzip.jar -c list -s readme.zip

java -jar nzip.jar -c extract -s "C:\project\readme.zip" -t readme

java -jar nzip.jar -c compress -s readme -t "C:\project\readme.zip"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.