파일 압축 시 디렉터리를 제외하는 방법

파일 압축 시 디렉터리를 제외하는 방법

빌드 아카이브를 사용할 때 특정 디렉터리를 제외하려고 합니다 zip. 내가 시도한 것은 다음과 같습니다.

$ zip home.zip -y -r HOME -x '/AppData' -x '/AppData*' -x '/AppData/*' -x 'AppData' -x 'AppData*' -x 'AppData/*'

생산:

  adding: HOME/ (stored 0%)
  adding: HOME/AppData/ (stored 0%)
  adding: HOME/AppData/a (deflated 39%)
  adding: HOME/AppData/LocalLow/ (stored 0%)
  adding: HOME/AppData/LocalLow/Sun/ (stored 0%)
  adding: HOME/AppData/LocalLow/Sun/Java/ (stored 0%)
  adding: HOME/AppData/LocalLow/Sun/Java/a (deflated 39%)
  adding: HOME/AppData/LocalLow/Sun/Java/Deployment/ (stored 0%)
  adding: HOME/AppData/LocalLow/Sun/Java/Deployment/a (deflated 39%)

내 디렉토리 트리는 다음과 같습니다.

./HOME
./HOME/AppData
./HOME/AppData/a
./HOME/AppData/LocalLow
./HOME/AppData/LocalLow/Sun
./HOME/AppData/LocalLow/Sun/Java
./HOME/AppData/LocalLow/Sun/Java/a
./HOME/AppData/LocalLow/Sun/Java/Deployment
./HOME/AppData/LocalLow/Sun/Java/Deployment/a

그래서 내 선택을 무시하는 것 같습니다 -x.

이 옵션의 올바른 구문은 무엇입니까 -x?

확립된이 게시물그러나 위에서 볼 수 있듯이 내 문제는 해결되지 않았습니다.

Windows 7의 Cygwin 1.7.35에서 Info-ZIP 3.0을 사용하고 있습니다.

답변1

로 설정해 보세요-x '*AppData/*'

답변2

그냥 해

-x */AppData/*
# or
--exclude */AppData/*

첫 번째 슬래시를 추가하는 것을 잊지 마세요. 그렇지 않으면 "AppData"로 시작하는 경로뿐만 아니라 "AppData"가 포함된 모든 경로와도 일치하기 때문입니다.

답변3

zip일치하는 경로 에는 루트가 아닌 한 사용자가 제공한 루트 경로 요소가 포함되어 있는 것 같습니다 ..

내 경우에는 아래의 항목을 제외하려면 다음이 LocalLow필요합니다.

$ zip home.zip -y -r HOME -x 'HOME/AppData/LocalLow/*'

생산하다:

  adding: HOME/ (stored 0%)
  adding: HOME/AppData/ (stored 0%)
  adding: HOME/AppData/a (deflated 39%)

디렉터리 cd로 이동하여 이를 루트 디렉터리로 사용하는 경우 제외 경로에 루트 요소를 지정할 필요가 없습니다.HOME.

$ cd HOME
$ zip home.zip -y -r . -x 'AppData/LocalLow/*'

  adding: AppData/ (stored 0%)
  adding: AppData/a (deflated 39%)

관련 정보