size option in find (versão 4.4.2) não entende o prefixo kilo

3

Por algum motivo, find parece não aceitar o prefixo kilobytes:

T42 ~ # find /root/ /home/noc/ \( -type f -size -1k \) -exec grep -iH hangup {} \;
find: '/home/noc/.gvfs': Permission denied
T42 ~ # find /root/ /home/noc/ \( -type f -size -1000 \) -exec grep -iH hangup {} \;
/root/minicom.log:20130524 17:31:22 Hangup (0:00:00)
/root/minicom.log:20130528 14:49:39 Hangup (0:00:00)
/root/minicom.log:20130806 09:55:39 Hangup (0:00:00)
/root/minicom.log:20130806 09:55:43 Hangup (0:00:00)
/root/minicom.log:20130918 13:58:38 Hangup (0:00:00)
/root/minicom.log:20130918 13:58:38 Hangup (0:00:00)
/root/minicom.log:20131017 10:36:24 Hangup (0:00:00)
/root/minicom.log:20131017 12:44:28 Hangup (0:00:00)
/root/minicom.log:20131017 12:49:00 Hangup (0:00:00)
/root/minicom.log:20131017 12:49:00 Hangup (0:00:00)
/root/minicom.log:20131017 17:11:45 Hangup (0:00:00)
/root/minicom.log:20131017 17:11:45 Hangup (0:00:00)
/root/minicom.log:20131114 18:16:26 Hangup (0:00:00)
/root/minicom.log:20131216 12:36:34 Hangup (0:00:00)
/root/minicom.log:20131217 12:27:52 Hangup (0:00:00)
find: '/home/noc/.gvfs': Permission denied
/home/noc/gnupg/gnupg-2.0.20/g10/cpr.c:            raise (SIGINT);  /* nothing to hangup under DOS */
^C
T42 ~ #

Estou fazendo algo errado ou como devo usar sufixos tamanho em find ?

    
por Martin 17.12.2013 / 14:56

1 resposta

5

Sem sufixo, ele está usando blocos de 512 bytes (b). 1k e 1024c seria o mesmo em relação às suas unidades.

Mas lembre-se de que ele está pesquisando as "unidades n usadas de espaço". Para armazenar 1 byte você precisa de um bloco de 1 byte ou um bloco de 1k ou um bloco de 1M ...

  • -size -1k encontraria apenas arquivos 0k (= 0 byte)
  • -size 1k encontraria > 0 bytes < = 1024 bytes
  • -size -2k localizaria arquivos < = 1024 bytes, mas não > = 1025 bytes
por 17.12.2013 / 15:16

Tags