Hello, # strings /dev/arandom | grep -o '[[:print:]]' | head -100 > a.txt # sort -R a.txt K ] U O B B ~ o o I I P s s Q f f p , 1 5 # X X c c W W \ \ h w v v ? ` L L L L A A A E J J Y $ | ! x 2 2 2 2 ( a q q q q 3 3 7 d + z z z S S S S F 6 = i i G G . . . : [ [ T { - } } } j j & 9 9 9 # uname -mrs OpenBSD 6.0 amd64 # # sort -R a.txt > b.txt # cksum b.txt 3374888359 200 b.txt # sort -R a.txt > b.txt # cksum b.txt 109071951 200 b.txt # sort -R a.txt > b.txt # cksum b.txt 3441576000 200 b.txt #
from: http://man.openbsd.org/OpenBSD-current/man1/sort.1 -R, --random-sort, --sort=random Sort lines in random order. This is a random permutation of the inputs with the exception that equal keys sort together. It is implemented by hashing the input keys and sorting the hash values. The hash function is randomized with data from arc4random_buf(3), or by file content if one is specified via --random-source. If multiple sort fields are specified, the same random hash function is used for all of them. Although the "b.txt" differs, if we check it by the human eye... that is not random.. **Why**? Why is it called random, WHEN IT IS NOT RANDOM?! Random should mean RANDOM. Not "almost" random.. The same can be seen on ex.: RHEL7.