У меня есть папка, которая содержит сотни тысяч небольших .txt файлов размером 4 КБ. Некоторые из них абсолютно пусты, а другие нет. Однако все они имеют одинаковый размер 4 КБ, поскольку это минимальный настроенный размер блока. Есть ли способ массово удалить пустые, но не пустые? Выполнение
rsync --remove-sent-files -rv --min-size=4kb
удаляет все.
Спасибо
Я думаю, что нашел частичный ответ. Если мы предположим, что текстовый файл с пустым содержимым имеет хотя бы один скрытый символ, тогда кто-то может найти все файлы с размером меньше определенного количества байтов и удалить их. Например, если мы хотим удалить все файлы размером 1 байт, мы можем выдать:
find . -type f -size -2c -delete
Действительно пустые файлы будут показывать 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