2013-10-29 2 views
6

안녕하세요, 디렉토리를 가질 수있는 파일의 압축을 풀어야합니다. 그 디렉토리 내의 모든 것을 제외하고, 많은 옵션을 시도하고 잘 보였지만 보이지 않습니다. 좋은 해결책을 찾으려면.linux는 폴더 내의 모든 것을 제외하고 압축을 풉니 다

이 zip 파일의 내용은 다음과 같습니다 폴더를 알 수없는 배제의 깊이를주의하십시오, 그러나 우리는 난 단지 그 안에 파일의 압축을 풉니이 명령을 시도 모두에게

$unzip -l patch2.zip 
Archive: patch2.zip 
    Length  Date Time Name 
--------- ---------- ----- ---- 
     0 2013-10-29 17:42 EXCLUDE/ 
     0 2013-10-29 17:24 EXCLUDE/inner/ 
     0 2013-10-29 17:24 EXCLUDE/inner/inner1.txt 
     0 2013-10-29 15:45 EXCLUDE/file.txt 
     0 2013-10-29 15:44 patch.jar 
     0 2013-10-29 15:44 system.properties 
---------      ------- 
     0      6 files 

를 제외해야 폴더 및 해당 콘텐츠는 포함되지 않습니다.

$unzip -l patch2.zip -x EXCLUDE/* 
Archive: patch2.zip 
    Length  Date Time Name 
--------- ---------- ----- ---- 
     0 2013-10-29 17:42 EXCLUDE/ 
     0 2013-10-29 17:24 EXCLUDE/inner/ 
     0 2013-10-29 17:24 EXCLUDE/inner/inner1.txt 
     0 2013-10-29 15:44 patch.jar 
     0 2013-10-29 15:44 system.properties 
---------      ------- 
     0      5 files 

감사합니다.

답변

8

unzip으로 전달되도록 제외 패턴을 인용해야합니다. 그렇지 않으면 unzip에 전달되기 전에 쉘에 의해 확장됩니다.

시도 :

unzip patch2.zip -x "EXCLUDE/*" 
+0

+1 답장에 대해서는 OP의 질문에 가깝습니다. 내 자신은 "알기에 좋은"대체물입니다 ^^ (이것은 초기 리눅스 시대에 꽤 유명했지만 반면에 거의 알려지지 않았습니다) –

+0

고마워 이것이 완벽하게 작동했습니다. "압축 해제가 전달 된 후 압축이 풀리기 전에 셸에서 확장 할 것입니다"라는 의미를 설명해 주시겠습니까? – Ravi

+1

@Ravi 셸이 와일드 카드 패턴을 파일 이름으로 변환하는 [Globbing] (http://tldp.org/LDP/abs/html/globbingref.html)에 대해 읽어보십시오. 예를 들어'echo *'를 실행하면, 쉘은'*'를 파일 이름의 목록으로 "확장"합니다. 'file1','file2' 등으로'echo'를 실행합니다. 결과적으로'echo *'는'echo file1 file2'가됩니다. 'echo' 프로그램은 결코 와일드 카드를 보지 못합니다. 단지'file1'과'file2' 인자만을 보게됩니다. 그러나,'echo "*"'패턴을 인용하면, 쉘은이 확장을 수행하지 않을 것이고 패턴은 그것을 해석 할 수있는 프로그램에 인수로 전달 될 것입니다. – dogbane

0

@dogbane의 대답은 권리입니다.

하지만 여전히 추가 다른 인터 휴식 옵션, 당신이 리눅스에있는 것처럼 [I 희망]은 : 다음 : (자정 사령관 일명)

가 시작

하고 :

mc 

오른쪽 패널에, 왼쪽 패널에서 ZIP 파일의 "내부"를 탐색하고, 첫 번째 레벨에서 필요한 항목을 선택합니다 (즉, 모두 선택하고 EXCLUDE 폴더의 선택을 취소합니다). 예)

mc은 매우 유연하고 멋지다. 특히 tar/untar/zip/move/delete/rename files ... (Windows에서는 TotalCommander로, 백업 및 동기화 원본을 동기화하기 위해 "동기화"옵션을 자주 사용합니다). 압축을 해제 한 것처럼 압축 파일을 탐색 할 수 있습니다 (실제 압축 해제를 최소화하여 탐색 항목을 두 번 압축 해제하지 마십시오).

관련 문제