Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Rounding of glob qualifiers?



The rounding seems a bit odd here:

## some files less than, equal to, and greater than 1024 bytes
$ ls -l {lt,eq,gt}-1k
-rw------- 1 bhaskell users 1023 2010-07-23 16:08 lt-1k
-rw------- 1 bhaskell users 1024 2010-07-23 16:08 eq-1k
-rw------- 1 bhaskell users 1025 2010-07-23 16:08 gt-1k

## why does lt-1k match here:
$ print -l *-1k(L-1024)
lt-1k

## and here:
$ print -l *-1k(Lk1)
eq-1k
lt-1k

## but not here?
$ print -l *-1k(Lk-1)
zsh: no matches found: *-1k(Lk-1)


Not claiming it's a 'bug', per se, but what's the rationale for rounding 
up?  Seems similar to the 'a' glob qualifier caveat with 'whole units', 
but I didn't see an explanation similar to fractional-part-is-discarded 
for 'L'.  Did I overlook it?

(Discovered while trying to grep for something in files <1K -- which 
only matched files of size 0.  There's probably a case where this 
behavior is preferable.)

-- 
Best,
Ben



Messages sorted by: Reverse Date, Date, Thread, Author