![Cómo eliminar de forma masiva archivos zip sin extensión en Linux](https://rvso.com/image/1654367/C%C3%B3mo%20eliminar%20de%20forma%20masiva%20archivos%20zip%20sin%20extensi%C3%B3n%20en%20Linux.png)
Tengo una carpeta llena de archivos diferentes pero sin extensión. ¿Cómo puedo eliminar todos los archivos que son archivos zip?
Respuesta1
En mi Kubuntu el siguiente comando:
file -b --mime-type path/to/some/zip
devoluciones:
application/zip
Puedo usarlo para detectar todos los archivos zip en el directorio actual (con subdirectorios). El comando es:
find . -type f -exec sh -c '
for f do
file -b --mime-type "$f" | grep -q "^application/zip$" && {
printf "%s\n" "$f"
# rm "$f"
}
done
' find-sh {} +
Si el resultado parece correcto, descomente rm "$f"
(elimine #
) para eliminar los archivos.
Notas:
Tampoco
-b
lo--mime-type
son las opciones portátiles defile
. Sifile
no los admite, compruebe lasfile path/to/some/zip
impresiones desnudas. Puede ser:path/to/some/zip: Zip archive data, …
Donde
…
denota información adicional. Si necesitara confiar en este resultado entonces migrep
comando sería:grep -q ": Zip archive data"
pero (posiblemente) detectaría falsamente archivos con esta misma cadena en el nombre. De todos modos, ajústalo
grep
a tusfile
impresiones.find-sh
se explica aquí:¿Cuál es el segundo pezsh -c 'some shell code' sh
?Al comando no le importan los nombres de archivos (en Linux lo que usted llama "extensión" es solo una parte del nombre de archivo). Responde a la pregunta que hizo en el cuerpo de la publicación ("¿Cómo puedo eliminar todos los archivos que son archivos zip?"), no al título ("Cómo eliminar archivos zip de forma masivasin extensión").