shuf

v0.0.28
shuf [OPTION]... [FILE]
shuf -e [OPTION]... [ARG]...
shuf -i LO-HI [OPTION]...

Shuffle the input by outputting a random permutation of input lines. Each output permutation is equally likely. With no FILE, or when FILE is -, read standard input.

Options

--echo, -e

treat each ARG as an input line

--input-range=<LO-HI>, -i <LO-HI>

treat each number LO through HI as an input line

--head-count=<COUNT>, -n <COUNT>

output at most COUNT lines

--output=<FILE>, -o <FILE>

write result to FILE instead of standard output

--random-source=<FILE>

get random bytes from FILE

--repeat, -r

output lines can be repeated

--zero-terminated, -z

line delimiter is NUL, not newline

Examples

Randomize the order of lines in a file and output the result:

shuf {{path/to/file}}

Only output the first 5 entries of the result:

shuf --head-count=5 {{path/to/file}}

Write the output to another file:

shuf {{path/to/input_file}} --output={{path/to/output_file}}

Generate 3 random numbers in the range 1-10 (inclusive):

shuf --head-count=3 --input-range=1-10 --repeat

The examples are provided by the tldr-pages project under the CC BY 4.0 License.

Please note that, as uutils is a work in progress, some examples might fail.