usa esto:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Use esto si es escéptico (le pedirá confirmación)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
Estás en una situación difícil; el estándar zipinfo(1)
La utilidad no proporciona ningún mecanismo para obtener nombres de archivo inequívocos de un archivo. Pero , puedes acercarte:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
Si está seguro de que ninguno de los archivos tiene saltos de línea, puede eliminar el -i
opción a rm(1)
(que seguramente se volverá tedioso).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Hace el trabajo porque -Z
invoca zipinfo
utilidad y -1
la opción le dice que imprima solo nombres de archivo
Puede encontrar más detalles sobre esto a través de man unzip
y man 1 zipinfo
comandos