table of contents
UNSORT(1) | General Commands Manual | UNSORT(1) |
NAME¶
unsort
— reorder
lines in a file in semirandom ways
SYNOPSIS¶
unsort |
[-hvrpncmMsz0l ] [--help ]
[--version ] [--random ]
[--heuristic ] [--identity ]
[--filenames [=profile]]
[--separator sep]
[--concatenate ] [--merge ]
[--merge-random ] [--seed
integer] [--zero-terminated ]
[--null ] [--linefeed ]
[file ...] |
DESCRIPTION¶
unsort
prints the lines in the input files
(or standard input) in semi-random order. Available algorithms are a
Mersenne Twister based PRNG and a heuristic algorithm that aims to create a
subjective even distribution.
Command line options¶
-h,
--help
- Display a concise summary of the available options and argument syntax.
-v,
--version
- Display version and copyright information.
-r,
--random
- Use the Mersenne Twister based randomization algorithm.
-p,
--heuristic
- Use the heuristic “shuffling” algorithm which permutes the lines in such a way that they're spread more or less evenly in the output. This is the default.
-n,
--identity
- Do not reorder lines in the input. Useful if you just want to merge the files.
-f,
--filenames
[=profile]- Assumes the input has a structure similar to filenames and apply
randomization seperately to each directory level.
An example would be a list of mp3 files where the top level is the genre, the second level is the name of the artist and the third level is the name of the album. The
--filenames
option allows you to randomize the list with different randomization strategies for each of the artist, album and track levels.Two types of randomization are supported: simple and proportional. Simple randomization picks one entry from each directory at that level in a round-robin fashion. If one directory contains fewer entries than the others, it will run out and stop appearing at some point before the end of the output.
Proportional randomization will spread the directory entries evenly over the output.
The profile argument can be used to specify which randomization types to use. It is a concatenation of the randomization types to use for each level. Use 1 for simple randomization and n for proportional randomization. If the input has more levels than specified, the last character determines the randomization type for all subsequent levels.
For example,
--filenames
=n1n means: use proportional randomization for the genre, use simple randomization for the artists and use proportional randomization again for the album names and all levels below that. -S,
--separator
sep- The directory separator to use with
-f
. Defaults to ‘/’. -r,
--concatenate
- Concatenate all input files then apply the shuffling algorithm to the result as a whole.
-m,
--merge
- Shuffle all input files seperately then merge the result. Equal-sized files will be merged in the order in which they appear on the command line.
-M,
--merge-random
- Shuffle all input files seperately then merge the result. Equal-sized files will be merged in random order. This is the default.
-s,
--seed
integer- Use this integer as a seed, instead of random data from the environment.
-z,
--zero-terminated,
-0,
--null
- Lines are terminated with a \0 character.
-l,
--linefeed
- Lines are terminated with a \n character. This is the default.
SEE ALSO¶
2007-11-25 | Free Software |