Удаление пустых файлов размером 4 КБ при сохранении непустых в Ubuntu

Удаление пустых файлов размером 4 КБ при сохранении непустых в Ubuntu

У меня есть папка, которая содержит сотни тысяч маленьких .txt-файлов размером 4 КБ. Некоторые из них полностью пустые, а другие нет. Однако все они показывают один и тот же размер 4 КБ, поскольку это минимальный настроенный размер блока. Есть ли способ массово удалить пустые, но оставить непустые? Выполнение

rsync --remove-sent-files -rv --min-size=4kb

удаляет все.

Спасибо

решение1

Я думаю, что нашел частичный ответ. Если мы предположим, что файл txt с пустым содержимым имеет по крайней мере один скрытый символ, то кто-то может найти все файлы размером менее определенного числа байт и удалить их. Если, например, мы хотим удалить все файлы размером 1 байт, мы можем выполнить:

find . -type f -size -2c -delete

решение2

Действительно пустые файлы будут показывать 0 байт при просмотре с помощью ls -l.

Вы можете удалить их с помощью find(читатьman find https://manpages.ubuntu.com/manpages/cosmic/en/man1/find.1.html):

find folder -maxdepth 1 -type f -name '*.txt' -size 0 -delete

Связанный контент