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

관련 정보