LinuxCommandLibrary

shuf

generate random permutations

TLDR

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

$ shuf [path/to/file]
copy


Only output the first 5 entries of the result
$ shuf --head-count=[5] [path/to/file]
copy


Write the output to another file
$ shuf [path/to/input] --output=[path/to/output]
copy


Generate 3 random numbers in the range 1-10 (inclusive)
$ shuf --head-count=[3] --input-range=[1-10] --repeat
copy

SYNOPSIS

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

DESCRIPTION

Write a random permutation of the input lines to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-e, --echo

treat each ARG as an input line

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

treat each number LO through HI as an input line

-n, --head-count=COUNT

output at most COUNT lines

-o, --output=FILE

write result to FILE instead of standard output

--random-source=FILE

get random bytes from FILE

-r, --repeat

output lines can be repeated

-z, --zero-terminated

line delimiter is NUL, not newline

--help

display this help and exit

--version

output version information and exit

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/shuf> or available locally via: info '(coreutils) shuf invocation'

AUTHOR

Written by Paul Eggert.

Copied to clipboard