From my manpage (on a MacOS 10.11 machine)
-size n[ckMGTP]
True if the file's size, rounded up, in 512-byte blocks is n. If
n is followed by a c, then the primary is true if the file's size
is n bytes (characters). Similarly if n is followed by a scale
indicator then the file's size is compared to n scaled as:
k kilobytes (1024 bytes)
M megabytes (1024 kilobytes)
G gigabytes (1024 megabytes)
T terabytes (1024 gigabytes)
P petabytes (1024 terabytes)
(suffixes other than c
being non-standard extensions).
So, since you didn't specify a suffix, your -size 128
meant 128 blocks, or 64Kbytes that is only matched for files whose size was comprised in between 127*512+1 (65025) and 128*512 (65536) bytes.
You should use -size 128c
if you want files of exactly 128 bytes, -size -128c
for files of size strictly less than 128 bytes (0 to 127), and -size +128c
for files of size strictly greater than 128 bytes (129 bytes and above).
find
-based solution, or one in a shell (such as zsh) that can handle it natively. See also https://unix.stackexchange.com/q/131766/117549 and https://unix.stackexchange.com/q/171346/117549 – Jeff Schaller Aug 09 '19 at 17:22