Eliminar archivos vacíos manteniendo archivos de 4 KB no vacíos en Ubuntu

Eliminar archivos vacíos manteniendo archivos de 4 KB no vacíos en Ubuntu

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

información relacionada