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