---
name: "gaffitter"
section: "1"
platform: "linux"
package: "gaffitter"
version: "0.6.0-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gaffitter"
---

# gaffitter(1)

File subsets extractor based on genetic algorithms

## NAME

gaffitter - File subsets extractor based on genetic algorithms

## SYNOPSIS

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

## DESCRIPTION

**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.

## OPTIONS

- **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).

## AUTHOR

Written by Douglas A. Augusto \<daaugusto@gmail.com\>. This manpage has been written by Nacho Barrientos Arias \<chipi@criptonita.com\> for the Debian GNU/Linux system (but may be used by others).

## BUGS

Report bugs to Douglas A. Augusto \<daaugusto@gmail.com\>.

## COPYRIGHT

Copyright © 2005-2009, Douglas A. Augusto \<daaugusto@gmail.com\> - 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.

## SEE ALSO

http://gaffitter.sourceforge.net/

```

```
