gaffitter(1) File subsets extractor based on genetic algorithms


gaffitter -t|--target value[unit] [OPTION]... FILE...
gaffitter - -t|--target value[unit] [OPTION]... [FILE]...


gaffitter (Genetic Algorithm File Fitter) is a command-line software written in C++ that extracts --via genetic algorithm-- subsets of an input list of files/directories that best fit the given volume size (target), such as CD, DVD and others.

If gaffitter is executed using the second option listed above, the information about files is fetched from stdin.

The unit suffixes 'k', 'm', 'g' or 't' can be used, where: k = KB/KiB, m = MB/MiB, g = GB/GiB and t = TB/TiB. Default: bytes.


General options:

-t, --target VALUE[unit] (float)
Set VALUE as target size (mandatory), VALUE > 0.0

--bins, --vols VALUE[unit]
Set VALUE as the maximum number of bins (volumes). [default = "unlimited"]

Use powers of 1000 (not 1024) for target, min, max and output sizes.

--min, --min-size VALUE[unit]
Minimum file size. [default = none]

--max, --max-size VALUE[unit]
Maximum file size. [default = none]

-B, --block-size VALUE
The smallest amount of bytes a file can occupy. [default = 1]

--ss, --show-size
Print the size of each file.

--sb, --show-bytes
Also print the sizes in bytes.

--hi, --hide-items
Don't print selected files.

--hs, --hide-summary
Hide summary line containing sum, difference and number of selected files.

-s, --sort-by-size
Sort the output by size, not by name.

-n, --no-case
Use case-insensitive sorting.

-r, --sort-reverse
Sort the output in reverse order.

--ew, --enclose-with CHAR
Enclose file names with CHAR. [default = none]

--dw, --delimit-with CHAR
Delimit file names (lines) with CHAR. [default = newline]

-z, --null-data
Assume NULL ( ) as the delimiter of input files via stdin (pipe).

-Z, --null
Same as --dw '\0'. See also the -0 and --hs options.

-0, --null-bins
Same as --bs '\0'. See also the -Z and --hs options.

--bs, --bins-separator CHAR
Separate bins (vols) with CHAR. [default = newline]

Print gaffitter version and exit.

-v, --verbose

-h, --help
Print help and exit.

Direct Input options:

--di, --direct-input
Switch to direct input mode, i.e., read directly "size identifier" pairs instead of file names.

--di-b, --di-bytes
Assume input sizes as bytes.

--di-k, --di-kb
Assume input sizes as kibi bytes (KiB). KB if --di-si.

--di-m, --di-mb
Assume input sizes as mebi bytes (MiB). MB if --di-si.

--di-g, --di-gb
Assume input sizes as gibi bytes (GiB). GB if --di-si.

--di-t, --di-tb
Assume input sizes as tebi bytes (TiB). TB if --di-si.

Use powers of 1000 (not 1024) for input sizes.

Genetic Algorithm options:

--ga-s, --ga-seed VALUE (integer)
GA initialization seed, VALUE >= 0. Zero means random. [default = 1]

--ga-rs, --ga-random-seed
Use rendom GA seed (same as --ga-seed 0).

--ga-ng, --ga-num-generations VALUE (integer)
Maximum number of generations, VALUE > 0. [default = auto]

--ga-ps, --ga-pop-size VALUE (integer)
Number of individuals, VALUE > tournament_size. [default = auto]

--ga-cp, --ga-cross-prob VALUE (float)
Crossover probability, 0.0 <= VALUE <= 1.0. [default = 0.95]

--ga-mp, --ga-mutation-prob VALUE (float)
Mutation probability (per gene), 0.0 <= VALUE <= 1.0. [default = auto]

--ga-sp, --ga-sel-pressure VALUE (integer)
Selection pressure (tournament size), 2 <= VALUE < pop_size. [default = 2]

--ga-theo, --ga-theoretical [VALUE] (integer)
Stop if the theoretical minimum number of bins is reached. If VALUE is given, it is assumed to be the theoretical minimum number of bins.

Other search methods:

--ap, --approximate
Approximate the solution using Best First search (non-optimal but very fast).

--sp, --split
Just split the input when target size is reached (preserves original order while splitting).


Written by Douglas A. Augusto <[email protected]>. This manpage has been written by Nacho Barrientos Arias <[email protected]> for the Debian GNU/Linux system (but may be used by others).


Report bugs to Douglas A. Augusto <[email protected]>.


Copyright © 2005-2009, Douglas A. Augusto <[email protected]> - All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, Inc.