4

Я хочу удалить каталог __MACOSX в zip-файлах, созданных Mac.

С zip foo.zip -qd "__MACOSX/*" работает хорошо.

Тогда я написал как следующее. for file in "*.zip"; do zip $file -qd "__MACOSX/*"; done

Но этот скрипт действует только на первый zip-файл в каталоге.

Далее я пытаюсь использовать "найти" и "xargs". Но это не сработало вообще. find . -name "*.zip" -print0 | xargs -0 zip -qd "__MACOSX/*"

Как я могу написать скрипт, который удаляет все каталоги __MACOSX в нескольких файлах zip.

1 ответ1

4

Вы хотите процитировать $file в команде, но не глобус в for:

for file in *.zip; do zip "$file" -qd "__MACOSX/*"; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .