Para encontrar e remover arquivos vazios, encontrei a seguinte pergunta do Stack Overflow:
https://stackoverflow.com/q/3157343
Há cerca de 10 respostas lá, mas todas elas usam -size 0
and not -empty
.
Por exemplo, uma resposta +153:
find . -name 'file*' -size 0 -print0 | xargs -0 rm
Outra resposta, +100:
find -name 'file*' -size 0 -delete
Por que isso? Em outras palavras, quais vantagens -size 0
fornece sobre -empty
?
Minha solução pessoal, para macOS, é
find . -mindepth 1 -maxdepth 1 -type f -empty -print -delete
O
-size
operando é especificado por POSIX , então qualquer implementação dofind
seguinte que o suporte.-empty
não é, e portanto não está disponível em todos os lugares. Então é mais seguro usar-size 0
para verificar se um arquivo está vazio se você não sabefind
com qual versão dele será usado.Sua solução pessoal verifica explicitamente se há arquivos regulares, então isso não é relevante aqui, mas
-empty
também corresponde a diretórios vazios, o que não é o caso de-size 0
. Pelo menos no GNUfind
, ele não corresponde a nada além de um arquivo ou diretório regular, independentemente do tamanho.