[CentOS] find /etc -size -1G return only empty files

Thu Mar 25 09:41:37 UTC 2010
Mike McCarty <Mike.McCarty at sbcglobal.net>

Nicolas Thierry-Mieg wrote:
> Nicolas Thierry-Mieg wrote:
>> Ala1n Sp1neu8 wrote:
>>> Hello
>>> find /etc -size -1G
>>>
>>> should return all files less than 1Giga byte in /etc, but return a
>>> list of empty file (size=0)
>>>
>>> find /etc -size -2G
>>>
>>> work fine and return all the files
>>>
>>> This works the same  on my fedora11 and my centos 5 !
>>>
>>> Did I miss something or is it a bug ?
>> not sure, but:
>> -1  strictly less than one, being an int that has got to be zero.
>> G   unit is GB.
> 
> I'm sure now, a simple test confirms this.
> +n : >=n, so behaves as expected
> -n : <n, n being an int, so that's <=n-1 which can make a big difference 
> when you have a G behind that n.

Interesting. The man page is somewhat ambiguous on this point, but
does hint at that when it mentions that it references a number of
units, the unit being changeable, and defaults to 512 bytes.

So, then,

	-size -1024M

should do what he wants, up to within 1MB blocks, but still
doesn't reference bytes. To do it exactly by the byte, one would
need
	-size -1073741824b

Mike
-- 
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
Oppose globalization and One World Governments like the UN.
This message made from 100% recycled bits.
You have found the bank of Larn.
I speak only for myself, and I am unanimous in that!