MacOSX에서 *.zip은 ab.zip과 일치하지 않고 ab.zip만 일치합니다. 이 문제를 어떻게 해결합니까?

MacOSX에서 *.zip은 ab.zip과 일치하지 않고 ab.zip만 일치합니다. 이 문제를 어떻게 해결합니까?

sh fizmyzip.sh현재 폴더 아래의 모든 zip 파일에서 불필요한 파일을 제거하기 위해 실행을 시도했습니다 . fizmyzip.sh예:

zip -d *.zip __MACOSX/\*
zip -d *.zip "*/.DS_Store"

그러나 일치할 수는 없습니다 . a-b.zip단지 ab.zip. 이 문제를 어떻게 해결할 수 있나요?

답변1

쉘이 *.zip로 확장 ab.zip a-b.zip되므로 명령은 다음과 같습니다.

zip -d ab.zip a-b.zip __MACOSX/\*
zip -d ab.zip a-b.zip "*/.DS_Store"

플래그 다음 인수에는 대상 zip 파일이 하나만 있어야 합니다 -d. 다른 매개변수는 삭제할 파일/패턴입니다. 그렇기 때문에 에서만 작동합니다 ab.zip.

따라서 for 루프를 사용하십시오.

for zipf in *.zip; do zip -d "$zipf" "__MACOSX/*" "*/.DS_Store"; done

관련 정보