shuf shuffles its input by outputting a random permutation of its input lines.
based off https://www.gnu.org/software/coreutils/manual/html_node/shuf-invocation.html
npm i shuf -g
cat file | shuf
®[~]$ wc -l -c ~/Downloads/log2.txt
35410 941848 /Users/ryan/Downloads/log2.txt
®[~]$ cat ~/Downloads/log2.txt | shuf a.out b.out --n=15 --lc=35410
Less random, as more preference is given to earlier lines
®[~]$ cat ~/Downloads/log2.txt | shuf a.out b.out --n=15
®[~]$ cat ~/Downloads/log2.txt | shuf a.out b.out c.out
MIT