루트 디렉토리 없이 zip 파일에 파일과 디렉토리를 추가하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1009501

  •  06-07-2019
  •  | 
  •  

문제

다음과 같이 호출될 때 zip 유틸리티 프로그램 zip -r out.zip base/* 이 디렉토리 구조에

.
./base
./base/b
./base/b/c
./base/d

다음 결과를 생성합니다

  adding: base/b/ (stored 0%)
  adding: base/b/c (stored 0%)
  adding: base/d (stored 0%)

다음 출력에서와 같이 데이터가 포함된 파일을 얻고 싶습니다.

  adding: b/ (stored 0%)
  adding: b/c (stored 0%)
  adding: d (stored 0%)

-j 옵션이 도움이 될 것으로 기대했지만 그렇지 않습니다.디렉터리 구조를 완전히 평면화합니다.현재 내가 찾은 유일한 해결책은 base에 CD를 넣고 여기에서 zip을 호출하는 것입니다. 그러나 문서에서 인식하지 못하는 전원 스위치가 있는지 궁금합니다.

도움이 되었습니까?

해결책

나는 당신이 원하지 않는다는 것을 이해합니다 cd, 하지만...

다른 모든 방법이 실패하고 zip 호출을 한 줄로 유지하려는 경우 호출을 연결하고 상대 경로를 사용하여 루트에서 zip을 출력할 수 있습니다.

Windows의 경우:

cd base & zip -r ..\out.zip * & cd ..

리눅스/유닉스의 경우:

cd base ; zip -r ../out.zip * ; cd ..

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top