A resposta de Iain causou um erro na minha máquina que eu não consegui descobrir ... então eu fui em frente e escrevi um pequeno script BASH que inclui parte de sua solução, e isso funciona muito bem ... apenas passe o zip original como um argumento para este script ununzip.sh . Comente a linha rm para pré-visualizar a "ação".
#!/bin/bash
COUNT=0 # USAGE:
PURGE=CLEAR # chmod +x ununzip.sh && ./ununzip.sh file.zip
THATDARNzip=$1 # THIS IS YOUR file.zip, THE ARGUMENT
PURGE=('unzip -t THATDARNzip | awk '{print $2}' | xargs echo')
COUNT=${#PURGE[@]} # HOW MUCH STUFF GOT UNZIPPED?
echo "total items "$COUNT
echo -e "item at 0 is ${PURGE[0]}" # WE DON'T DELETE THE ORIGINAL ZIP FILE
while [ "$COUNT" -gt 0 ]; do
echo -e "deleting ${PURGE[${COUNT}]}"
rm -r "${PURGE[${COUNT}]}" # COMMENT THIS LINE FOR A DRY RUN
COUNT=$[ $COUNT - 1 ]
done
exit 0