Help in understanding a command line search of all sqlite files on os x device
There are details in man
pages for those arguments.
From man mdfind
:
-0
Prints an ASCII NUL character after each result path. This is useful when used in conjunction withxargs -0
.
From man xargs
:
-0
Change xargs to expect NUL (``\0'') characters as separators, instead of spaces and newlines. This is expected to be used in concert with the-print0
function in find(1).
From man stat
:
-f
format Display information using the specified format. See the FORMATS section for a description of valid formats.
z
The size of file in bytes.
N
Displays the name of file.
From man sort
:
-n
,--numeric-sort
,--sort=numeric
Sort fields numerically by arithmetic value. Fields are supposed to have optional blanks in the beginning, an optional minus sign, zero or more digits (including decimal point and possible thou- sand separators).
-r
,--reverse
Sort in reverse order.
From man head
:
head [-n count | -c bytes] [file ...]
This filter displays the first count lines or bytes of each of the specified files
So to break it down:
-
mdfind
finds all.sqlite
files and appends NUL char to each line -
xargs
displays the results in formatNUMBER_OF_BYTES FILE_PATH
-
sort
sorts the results byNUMBER_OF_BYTES
descending -
head
displays top 20 results