shuf command generates random permutations from input lines to standard output. If given a file or series of files it will shuffle the lines and write the result to standard output. It can also limit the number of results returned supporting selecting random lines from a file or data from a list.
To shuffle the lines in a file using the
shuf command pass a file, files or standard input to the command. The result will be printed to standard output. In the following example we have a list of cards in a file saved as
cards.txt. This file is ordered by suit and number.
shuf cards.txt 4D 9D QC 3S 6D
shuf command shuffles the lines and outputs this to standard output.
To pick a random line from a file using
shuf use the
-n option. This limits the output to the number specified.
shuf -n 1 cards.txt KH
To select more than one line change the number.
shuf -n 5 cards.txt 4H 9S KH 9D 9H
To shuffle words passed to
shuf in standard input use the
-e option. This shuffles items separated by spaces.
shuf -e one two three three two one
If you wanted to quickly decide whose turn it is to make the tea you can use
shuf -n 1 -e George Kirsten Fin Bea Bea
Bea make the tea!
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Using HashiCorp Vault with LDAP
How to use HashiCorp Vault to setup an LDAP backed secret store with read-only access for users in groups and read-write access for specific users
Linux and Unix xargs command tutorial with examples
Tutorial on using xargs, a UNIX and Linux command for building and executing command lines from standard input. Examples of cutting by character, byte position, cutting based on delimiter and how to modify the output delimiter.
Copy a file in Go
How to copy a file in Go. The ioutil package does not offer a shorthand way of copying a file. Instead the os package should be used.