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"]
--si 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]
--version Print gaffitter version and exit.
-v, --verbose 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.
--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.
http://gaffitter.sourceforge.net/