diff options
-rwxr-xr-x | shuf | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -0,0 +1,16 @@ +#!/usr/bin/awk -f +BEGIN{ + srand() # seed by time + srand(seed+srand()) # allow additional external seed +} +{ lines[++d]=$0 } +END{ + while (d > 0) { + if (e==d) {break} + r = int(1 + rand() * d) + print lines[r] + lines[r] = lines[d] + delete lines[d] + --d + } +} |