How to shuffle lines using the command line —25 October 2014
Sorting lines is easy: everybody knows the sort command.
But what if you want to do the other way around, and shuffle instead of sorting?
This perl one-liner does just that:
... | perl -MList::Util -e 'print List::Util::shuffle <>'
Explanation:
-MList::Utilload theList::Utilmodule (as if doinguse List::Utilinside a Perl script)-e '...'execute Perl commandprint List::Util::shuffle <>callList::Util::shufflefor the lines coming from standard input, read by<>
Another way would be sort -R if your version of sort supports that (GNU, as opposed to BSD).
In BSD systems you can install coreutils and try gsort -R instead.
(For eample on OSX, using MacPorts: sudo port install coreutils.)
Yet another way is shuf in GNU systems,
and gshuf in coreutils.