How do I output "sparseness" of a file?
%S format specifier which is even named "sparseness"
%S File's sparseness. This is calculated as (BLOCKSIZE*st_blocks / st_size). The exact value you will get for an ordinary file of a certain length is system-dependent. However, normally sparse files will have values less than 1.0, and files which use indirect blocks may have a value which is greater than 1.0. The value used for BLOCKSIZE is system-dependent, but is usually 512 bytes. If the file size is zero, the value printed is undefined. On systems which lack support for st_blocks, a file's sparseness is assumed to be 1.0.
$ fallocate -l 1000000 data $ find data -printf '%S\n' 1.00352 $ fallocate -p -o 250000 -l 500000 data $ find data -printf '%S\n' 0.507904