Mac OS X의 명령 줄“zip”도구를 사용하여 디렉토리 및 서브 디렉토리에서 파일을 반복적으로 압축하고 모든 서브 폴더에서 .DS_Store 파일을 제외하십시오.


10

zipMac OS X 터미널과 함께 제공 되는 명령 줄 도구를 사용하여 ZIP 파일을 만들려고합니다 . 현재 폴더의 내용을 재귀 적으로 압축하고 .DS_Store파일은 제외하고 싶습니다 . 나는 이것을 시도하고있다 :

zip -r myarchive.zip . -x .DS_Store

-x .DS_Store제외합니다 .DS_Store반복적으로 추가 하위 폴더에서 현재 폴더에있는 파일,하지만. .DS_Store모든 하위 폴더에서 모든 파일을 어떻게 제외 합니까?

답변:


17

제외 옵션에 와일드 카드 추가

zip -r myarchive.zip . -x "*.DS_Store"

답변 주셔서 감사합니다. 작동하지만 왜? :). 설명해 주시겠습니까?
OMA

*아무것도 또는 우편으로 경로의 어떤 부분에 팽창이 반복적으로 파일과 디렉토리를 압축합니다. 그래서, ./.DS_Store다음 ./*/.DS_Store등 아카이브에서 제외됩니다.
fd0

아, 흥미 롭습니다. 따라서 와일드 카드는 Windows 환경과 다르게 작동합니다. 여기서 "* .DS_Store"는 ".DS_Store로 끝나는 모든 파일"을 의미합니다
OMA

1

대부분의 경우 or 또는 or 와 같은 모든 숨겨진 파일 을 제외하고 싶습니다..DS_Store.git.gitignore

하나의 간단한 명령으로 모든 것을 처리하고 모든 파일과 하위 폴더를 재귀 적으로 압축 할 수 있습니다

zip -r archive.zip folder -x "*/\.*"

또는 더 나은 삶을 더 쉽게 만들기 위해 zsh에서 함수를 작성하십시오.

open ~/.zshrc

별명 섹션에 다음 코드를 추가하십시오.

function zip-visible(){
    zip -r $1 $2 -X -x "*/\.*"
}

zsh 구성을 다시로드하십시오.

source ~/.zshrc

이런 식으로 사용

zip-visible archive.zip folder

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.