Mac OSX에서 내장 된 zip 압축기로 파일을 압축하면 압축이 풀린 zip에 “__MACOSX”라는 추가 폴더가 생성됩니다.
이 폴더가 생성되지 않도록 설정을 조정할 수 있습니까? 아니면 타사 압축 도구를 구입해야합니까?
업데이트 : 방금 내 문제를 해결하는 OSX 용 프리웨어 응용 프로그램을 찾았습니다. ” YemuZip “
업데이트 2 : YemuZip은 더 이상 프리웨어가 아닙니다.
답변
이 문제가 발생했을 때 명령 줄에서 수행했습니다.
zip file.zip uncompressed
많은 downvotes 후 EDIT : 나는 얼마 전에이 옵션을 사용하고 있었고 어디서 배웠는지 알지 못하므로 더 나은 설명을 줄 수 없습니다. 크리스 존슨의 대답 은 정확하지만 삭제하지는 않습니다. 한 의견에서 알 수 있듯이 압축 파일에서 파일을 제거하는 대신 파일없이 압축하므로 OP가 요구하는 내용이 더 정확합니다. 나도 기억하기 쉽다는 것을 알았습니다.
답변
에 의해 사실 후에 고칠 수 있습니다 zip -d filename.zip __MACOSX/\*
답변
터미널에서 압축하려는 폴더 내부 :
zip -r -X Archive.zip *
-X의 의미 : “_MACOSX”또는 “._Filename”과 같은 보이지 않는 Mac 리소스 파일과 .ds 저장 파일을 제외합니다.
참고 : 폴더 및 후속 폴더 트리에서만 작동하며 *
와일드 카드 가 있어야합니다 .
답변
이 명령은 나를 위해 그것을했다 :
zip -r Target.zip Source -x "*.DS_Store"
Target.zip
작성할 zip 파일입니다. Source
압축 할 소스 파일 / 폴더입니다. 그리고 _x
매개 변수는 포함하지 않을 파일 / 폴더를 지정합니다. 어떤 이유로 든 위의 방법으로 작동하지 않으면 대신 시도하십시오.
zip -r Target.zip Source -x "*.DS_Store" -x "__MACOSX"
답변
이 Automator Shell Script를 사용하여 문제를 해결하고 있습니다. 상황에 맞는 메뉴 항목으로 표시됩니다 (Finder에 표시되는 파일을 마우스 오른쪽 버튼으로 클릭).
while read -r p; do
zip -d "$p" __MACOSX/\* || true
zip -d "$p" \*/.DS_Store || true
done
- Automator를 사용하여 새 서비스 생성
- “파인더”에서 “파일 및 폴더”를 선택하십시오.
- “쉘 스크립트 동작”추가
답변
원하지 않는 폴더는 다음과 같은 방법으로도 삭제할 수 있습니다.
zip -d filename.zip "__MACOSX*"
나를 위해 가장 잘 작동
답변
zip -r "$destFileName.zip" "$srcFileName" -x "*/\__MACOSX" -x "*/\.*"
-x "*/\__MACOSX"
: 언급 한대로 __MACOSX를 무시하십시오.-x "*/\.*"
: .DS_Store와 같은 숨겨진 파일은 무시하십시오.- SPACE로 이름이 지정된 파일을 피하려면 변수를 인용하십시오.
또한 Automator Service를 구축하여 Finder에서 쉽게 사용할 수 있습니다. 필요한 경우 자세한 내용을 보려면 아래 링크를 확인하십시오.