[Chapter 17] 17.14 Searching for Files by Size
Author: Jerry Peek, Tim O'Reilly & Mike Loukides
Date: 1998-08-04T21:38:29Z

#

| Chapter 17 Finding Files with find |

## 17.14 Searching for Files by Size

find has several operators that take a decimal integer. One such argument is -size. The number after this argument is the size of the files in disk blocks. Unfortunately, this is a vague number. Earlier versions of UNIX used disk blocks of 512 bytes. Newer versions allow larger block sizes, so a "block" of 512 bytes is misleading.

This confusion is aggravated when the command ls -s is used. The -s option supposedly lists the size of the file in blocks. But if your system has a different block size than ls -s has been programmed to assume, it can give a misleading answer. You can put a `c` after the number, and specify the size in bytes. To find a file with exactly 1234 bytes (as in an ls -l listing), type:

>     % find . -size 1234c -print

To search for files using a range of file sizes, a minus or plus sign can be specified before the number. The minus sign (`-`) means less than, and the plus sign (`+`) means greater than. This next example lists all files that are greater than 10,000 bytes, but less than 32,000 bytes:

>     % find . -size +10000c -size -32000c -print

When more than one qualifier is given, both must be true (17.6).

- BB

17.13 Searching for Files by Type |  | 17.15 Searching for Files by Permission