У меня есть папка, которая содержит сотни тысяч маленьких .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