find . -name "*.tif" -type 'f' -size -160k -delete
Execute o comando sem -delete
primeiro verificar se os arquivos corretos foram encontrados.
Observe o -
antes 160k
. Apenas 160k
significa exatamente 160 kilobytes. -160k
significa menor que 160 kilobytes. +160k
significa maior que 160 kilobytes.
As -type 'f'
forças do comando para agir apenas em arquivos e pular diretórios. isso evitaria erros se o caminho contiver pastas com nomes que correspondam ao padrão *.tif
.
Se você deseja filtrar tamanho em bytes (como em 160 bytes em vez de 160 kilobytes), então você tem que escrever como este: 160c
. Se você acabou de escrever 160
, será interpretado como 160 * 512 bytes. Este é um requisito estranho do POSIX. Leia aqui para obter mais detalhes: https://unix.stackexchange.com/questions/259208/purpose-of-find-commands-default-size-unit-512-bytes