FPART(1) | General Commands Manual | FPART(1) |
fpart
— Sort and
pack files into partitions
fpart |
[-h ] [-V ]
-n num |
-f files |
-s size
[-i infile]
[-a ] [-o
outfile] [-0 ]
[-e ] [-v ]
[-l ] [-b ]
[-y pattern]
[-Y pattern]
[-x pattern]
[-X pattern]
[-z ] [-zz ]
[-zzz ] [-d
depth] [-D ]
[-E ] [-L ]
[-w cmd]
[-W cmd]
[-p num]
[-q num]
[-r num]
[FILE or DIR...] |
The fpart
utility helps you sort file
trees and pack them into bags (called "partitions").
-n
num-f
,
-s
or -L
.-f
files-s
and -L
.-s
size-f
and -L
. You can use a
human-friendly unit suffix here (k, m, g, t, p).-o
outfile-
”, then partitions will be printed
to stdout, with partition number used as a prefix (so you can grep
partitions you are interested in, or do whatever you want).-0
-o
.-e
/
” to each directory
entry.-v
-l
-b
-y
pattern[
”,
“]
”,
“*
”,
“?
”) may be used. It does not apply
when computing size of directories to be added once a maximum depth (see
option -d
) has been reached (in that case, once
the maximum depth has been reached, every single file accounts for a
directory size).-Y
pattern-y
but case insensitive. This option may
not be available on your platform (at least
FreeBSD and GNU/Linux support it, Solaris does
not).-x
pattern-y
and
-Y
. In this case, exclusion is performed after.
This option may be specified several times. Pattern
may be a leaf (file or directory) name or a specific path. Shell pattern
matching characters (“[
”,
“]
”,
“*
”,
“?
”) may be used. It does not apply
when computing size of directories to be added once a maximum depth (see
option -d
) has been reached (in that case, once
the maximum depth has been reached, every single file accounts for a
directory size).-X
pattern-x
but case insensitive. This option may
not be available on your platform (at least FreeBSD and GNU/Linux support
it, Solaris does not).-z
-d
or -D
options). This option can be useful for tools such as
rsync(1) to be able to recreate a full file tree when
used with fpart (e.g. using rsync's --files-from option). See the
-zz
option to also pack un-readable
directories.-zz
-zzz
-d
depth-D
-z
. Pack leaf directories: if a directory
contains files only, it will be packed as a single entry. You can force a
specific file to be packed anyway by listing it on the command line
explicitly.-E
-D
. Pack directories only (work on a
per-directory basis): in that mode, no file will be packed. Instead, each
directory will be packed as a single entry with a size being the sum of
all top-level files' sizes. You can force a specific file to be packed
anyway by listing it on the command line explicitly.-L
-s
). As a consequence, it can generate partitions
larger than the size specified with option -s
.
This option can be used in conjunction with options
-f
and -s
, but not with
option -n
.-w
cmdFPART_HOOKTYPE
("pre-part" or
"post-part"), FPART_PARTFILENAME
(current partition's output file name),
FPART_PARTNUMBER
(current partition number),
FPART_PARTSIZE
(current partition size),
FPART_PARTNUMFILES
(number of files in current
partition), FPART_PID
(PID of fpart). Note that
variables may or may not be defined, depending of requested options and
current partition's state when the hook is triggered. Also, note that
hooks are executed in a synchronous way while crawling filesystem, so 1)
avoid executing commands that take a long time to return as it slows down
filesystem crawling and 2) do not presume cwd (PWD) is the one fpart has
been started in, as it is regularly changed to speed up crawling (use
absolute paths within hooks).-W
cmd-w
, but executes cmd
when finishing a partition (after having closed last output file, if
any).-p
num-q
num-r
numHere are some examples:
fpart -n 3
-o var-parts /var
fpart
-s 4724464025 -o music-parts /path/to/music ./*.mp3
find /usr !
-type d | fpart -f 10000 -i - /home | grep '^0:'
du * | fpart -n 2
-a
Fpart has been written by Ganaël LAPLANCHE and is available under the BSD license on http://contribs.martymac.org
No bug known (yet).
November 18, 2011 | Debian |