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

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

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

удаляет все.

Спасибо

1
задан 25 June 2019 в 22:31

2 ответа

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

find . -type f -size -2c -delete
1
ответ дан 25 June 2019 в 22:31

Действительно пустые файлы будут показывать 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
0
ответ дан 25 June 2019 в 22:31

Другие вопросы по тегам:

Похожие вопросы: