Não há -m (move) para descompactar como há para zip, mas você pode extrair os arquivos do arquivo um por um e excluí-los imediatamente depois de extraí-los.
Eu não sei muito sobre o OS X, mas isso funciona com o Bash no Ubuntu:
IFS=$'\n'
for file in 'zipinfo -Z1 ZIPFILE'; do
unzip ZIPFILE $file && zip -d ZIPFILE $file
done
rm ZIPFILE
unset IFS
-
IFS=$'\n'define o separador de campo interno como nova linha, para que nomes de arquivos que contenham espaços sejam manipulados corretamente. -
zipinfo -Z1 ZIPFILElista o conteúdo de ZIPFILE , um por linha. -
for file in '...'; do ??? donefaz um loop pela saída de..., configura a variável arquivo para uma linha da saída do comando e executa???. -
unzip ZIPFILE $file && zip -d ZIPFILE $fileextrai o arquivo especificado em arquivo do arquivo zip e o exclui do arquivo (zip -d).Aqui,
&&garante que o segundo comando seja executado somente se o primeiro for finalizado com êxito. -
rm ZIPFILEremove o arquivo (vazio). -
unset IFSrestaura o valor padrão do separador de arquivos interno.