February 18, 2009 SHUFFLE 1

### NAME

shuffle - print a random permutation of the command line arguments

### SYNOPSIS

shuffle [-0] [-f filename ...] [-n number] [-p number] [arg] [...]

### DESCRIPTION

The shuffle program prints a random permutation (or ``shuffle'') of its command line arguments. This can be useful in shell scripts for selecting a random order in which to do a set of tasks, view a set of files, etc.

If the -f option is given, the data is taken from that files' contents or if the filename is - ``stdin''.

If the -n option is given, its argument is treated as a number, and the program prints a random permutation of the numbers greater than or equal to 0 and less than the argument.

If the -p option is given, its argument is treated as a number, and the program prints that number of randomly selected lines or arguments in a random order.

The -0 option changes the field separator character from \n to \0, so that the output is suitable to be sent to xargs(1) (to handle filenames with whitespace in them).

### EXAMPLES

  `

      $ shuffle a b c d
      c
      b
      d
      a
      $ shuffle -p 1 a b c d
      d
      $ shuffle -n 4 -p 2
      0
      3

  `

### SEE ALSO

jot(1), random(6)

### HISTORY

The shuffle program first appeared in NetBSD1.4.

### AUTHORS

Written by Perry E. Metzger (perry@piermont.com).