[unix] 압축 된 아카이브에서 특정 디렉토리로 특정 폴더 만 추출하는 방법은 무엇입니까?

압축 된 아카이브에서 특정 디렉토리로 특정 폴더를 어떻게 추출합니까?

나는 사용하려고

unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"

그러나 압축을 풀고 싶을 경로에 폴더 만 생성하고 다른 작업은 수행하지 않습니다.



답변

unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path>

EL 6에서 잘 작동합니다


답변

시험:

unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to


답변

기존의 두 가지 대답은 모두 정확하지만 대상 디렉토리를 지정하는 것은 약간 까다 롭습니다.

의 말을하자 /target/root/원래의 압축 해제 조치, 예를 들면시 대상 디렉토리입니다 :

unzip -qq src.zip -d "/target/root/"

그런 다음 /target/root/unzip이 작동하는 방식으로 특정 하위 디렉토리 만 추출하려는 경우에도 나중에 대상 디렉토리 와 동일하게 사용해야 합니다.

unzip -qq src.zip "sub/dir/*" "/target/root/"

결국 규칙은 실제로 간단 합니다-d . 옵션에 동일한 대상 루트 디렉토리를 사용하십시오 .

BTW, -qq압축 해제 옵션은 정말 조용합니다. 자유롭게 제거하십시오.


답변