Tengo una carpeta que contiene cientos de miles de pequeños archivos .txt de 4kb de tamaño. Algunas de ellas están totalmente vacías mientras que otras no. Sin embargo, todos muestran el mismo tamaño de 4kb, ya que este es el tamaño de bloque mínimo configurado. ¿Hay alguna manera de eliminar masivamente los vacíos pero mantener los que no están vacíos? haciendo un
rsync --remove-sent-files -rv --min-size=4kb
elimina todo.
Gracias
Respuesta1
Creo que encontré una respuesta parcial. Si suponemos que un archivo txt con contenido vacío tiene al menos un carácter oculto, entonces alguien puede encontrar todos los archivos con un tamaño inferior a un número específico de bytes y eliminarlos. Si, por ejemplo, quisiéramos eliminar todos los archivos de tamaño 1 byte, podemos emitir:
find . -type f -size -2c -delete
Respuesta2
Los archivos realmente vacíos mostrarán 0 bytes cuando se miren con ls -l
.
Puedes eliminarlos con find
(leerman find
https://manpages.ubuntu.com/manpages/cosmic/en/man1/find.1.html):
find folder -maxdepth 1 -type f -name '*.txt' -size 0 -delete