Respuestas:
utilizar esta:
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 (solicitará confirmación)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
awk '{print $4}'
: puede haber un nombre de archivo con espacios $4 $5 $6 ...
. :)
unzip -l foo.zip | awk 'NR>3{print $NF}' | egrep -v '\--|files'|xargs rm -r
Estás en un lugar difícil; la zipinfo(1)
utilidad estándar 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 nuevas líneas, puede eliminar la -i
opción rm(1)
(lo que seguramente será tedioso).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Hace el trabajo porque -Z
invoca la zipinfo
utilidad y la -1
opción le dice que imprima solo nombres de archivo
Puede encontrar más detalles sobre este medio man unzip
y man 1 zipinfo
comandos
Si desea limpiar su directorio después de descomprimir accidentalmente sin crear primero una carpeta, puede crear la carpeta, descomprimir en eso y luego:
rm -r ` ls folder `
"` "es súper útil para encadenar comandos pero es muy literal.
Los comentarios han mejorado esta respuesta, si desea asegurarse de eliminar también los archivos ocultos (lo que probablemente haga), haga esto
rm -r ` ls -A folder `
ls -a
).
ls -A
para evitar errores de listado .
y..
Para hacer esto en Nautilus (sin la línea de comando), puede navegar hasta donde extrajo accidentalmente los archivos, ordenar los archivos haciendo clic en la pestaña "Modificado", luego seleccionar y eliminar todos los archivos etiquetados con la hora exacta ejecutó el comando descomprimir.
unzip -Z -1 /path/to/zip/file.zip | xargs -I{} rm -rf {}
-i
edición. :)